我们有一台服务器位于运行Solaris / Apache / PHP的本地公司的业务地点。 他们最近更新了Solaris,Apache和PHP(安全更新补丁等)。 不幸的是,它导致我们软件的image processing部分被破坏。 imagecreatefromjpeg()现在正在生成以下错误:
警告:imagecreatefromjpeg()[function.imagecreatefromjpeg]:'/path/to/file/filename.jpg'在XX行的/path/to/file/Image.class.php中不是有效的JPEG文件
在升级服务器期间没有更改PHP代码,并且在软件升级之前它已经完全正常工作。 我检查了传递给imagecreatefromjpeg()的文件,它们确实是有效的(它们在图像编辑软件和我的浏览器中均能成功打开)。 我检查了从中打开文件的目录的权限,他们具有读权限。 GD库已启用。
我不知道还有什么我可以检查。 基于上面的情况,我猜测软件中有些变化,但我不知道它会是什么。 PHP是5.2.5版,现在是5.2.13。
我感谢任何有关这个问题的原因。
理念..
php -i
比较新旧版本 我知道这似乎不相关,但是validation诸如权限和资源可用性(内存)等基本原理也可能有助于隔离问题。
有没有其他的错误?
显然,较新的jpeg库与系统中的其他内容不兼容。 一旦我们切换回旧的JPEG库,它再次开始工作。