在 Xampp PHP 8.0.1 中使用 Imagine 时出错

问题描述

在 Xampp PHP 8.0.1 中使用 Imagine 库时,文件 open() 中的 Imagine/Gd/Imagine.PHP 函数出现错误。具体来说,代码的第 93 行:

$resource = @imagecreatefromstring($data);

$resource 的返回值是 {GdImage}[0] 并且不是会引发错误的资源。

如果我只是回到 Xampp PHP 7.4.13,一切都很好。

如有任何想法,我们将不胜感激。

解决方法

我刚刚回溯,最后一次 that code was on line 93(好吧,根据 github 为 92)是 v1.2.1 released in June 2019。那是在 PHP 7.4 发布之前,所以您应该不会对它不包含 PHP 8 兼容性修复程序感到惊讶。

Version 1.2.4 came out in November promising PHP 8 support,发布后其实很及时!

作为为什么需要修复(以及为什么您的代码可能需要)的背景,资源已被 PHP 8.0 中的 GdImage objects 取代,这是从该语言中逐步淘汰资源的长期项目的一部分。>