在某些图像上调用 imagecreatefromstring() 时出现 PHP GD 错误

PHP GD error when calling imagecreatefromstring() on some images

提问人:Florian C 提问时间:9/21/2023 更新时间:9/21/2023 访问量:30

问:

我发现自己在尝试在某些图片(不是全部)上调用 imagecreatefromstring() 时在 PHP 上遇到了该错误

imagecreatefromstring(): gd-jpeg, libjpeg: recoverable error: Invalid SOS parameters for sequential JPEG

正如其他处理此已知问题的帖子所建议的那样,我尝试将 error_reporting level 和 gd.jpeg_ignore_warning 显式设置为友好值。但这不能按预期工作,错误仍然显示并中断执行。

下面是代码的一部分

error_reporting(E_ALL & ~E_NOTICE);
ini_set("error_reporting", E_ALL & ~E_NOTICE);
ini_set("gd.jpeg_ignore_warning", 1);
echo error_reporting() ." & ". ini_get("gd.jpeg_ignore_warning"); // expected " 32759 & 1 "
$sourceImage = imagecreatefromstring($decodedImage);

输出:

32759 & 1
imagecreatefromstring(): gd-jpeg, libjpeg: recoverable error: Invalid SOS parameters for sequential JPEG

我不明白为什么它不起作用,有什么想法吗?

PHP 图像 GD

评论

0赞 Jason Olson 9/21/2023
这回答了你的问题吗?顺序 JPEG 的 SOS 参数无效
0赞 Florian C 9/22/2023
不,因为 ini 设置对他有用,而对我不起作用
0赞 Jason Olson 9/22/2023
您是否测试以确保您的$codedImage格式正确?也许可以尝试将字符串输入 base64.guru/converter/decode/image/jpg 并确保它在那里正确生成图像。如果不是,则它位于数据映像上,而不是 imagecreatefromstring 函数上。

答: 暂无答案