服务器升级后 imagecreatefromjpeg() 停止工作

服务器升级后 imagecreatefromjpeg() 停止工作

我们在一家本地公司的办公地点有一台运行 Solaris/Apache/PHP 的服务器。他们最近对 Solaris、Apache 和 PHP 进行了更新(安全更新补丁等)。不幸的是,这导致我们软件的图像处理部分出现故障。imagecreatefromjpeg() 现在生成以下错误:

警告:imagecreatefromjpeg() [function.imagecreatefromjpeg]:'/path/to/file/filename.jpg' 不是 /path/to/file/Image.class.php 中第 XX 行的有效 JPEG 文件

服务器升级期间没有更改任何 PHP 代码,在软件升级之前,它完全可以正常工作。我检查了传递给 imagecreatefromjpeg() 的文件,它们确实有效(它们在图像编辑软件和浏览器中都成功打开)。我检查了打开文件的目录的权限,它们确实具有读取权限。GD 库已启用。

我不确定我还能检查什么。根据上述情况,我猜测软件中发生了一些变化,但我不知道可能是什么。PHP 版本为 5.2.5,现在是 5.2.13。

我非常感激任何关于此问题可能原因的指导。

答案1

想法..

  • php.ini 已被替换、更改或未被读取。将备份与系统上的当前备份进行比较。
  • 新软件包使用不同的选项进行编译。通过运行来比较新旧软件包php -i

我知道这看起来似乎无关,但验证权限和资源可用性(内存)等基本原理也可能有助于隔离问题。

还有其他错误吗?

答案2

显然,较新的 jpeg 库与系统中的其他程序不兼容。一旦我们切换回旧的 jpeg 库,它就可以再次正常工作。

相关内容