PHP imagecreatefromstring():gd-jpeg,libjpeg:可恢复的错误

Edd*_*die 8 php gd

我正在尝试从我无法控制的外部网站加载图像.

大部分时间它工作正常(到目前为止测试了数百个图像).

它现在给了我一个特定图像的错误:

imagecreatefromstring():gd-jpeg,libjpeg:可恢复的错误:损坏的JPEG数据:数据段的过早结束

从这一行:

$im = @imagecreatefromstring( $imageString );
Run Code Online (Sandbox Code Playgroud)

到目前为止我读到的建议建议添加:

ini_set("gd.jpeg_ignore_warning", true);
Run Code Online (Sandbox Code Playgroud)

但那没有效果,我仍然得到错误.我正在打电话之前做ini_set.这有关系吗?

我真的被困在如何忽略这个错误并继续.

Edd*_*die 6

问题是由于我的错误处理.我设置了一个错误处理程序,所以我的调用

$im = @imagecreatefromstring( $imageString );
Run Code Online (Sandbox Code Playgroud)

没有压制错误.

通过修改我的错误处理程序:

   if (error_reporting() === 0)
   {
        // This copes with @ being used to suppress errors
        // continue script execution, skipping standard PHP error handler
        return false;
   }
Run Code Online (Sandbox Code Playgroud)

我现在可以正确地抑制选定的错误.

我在这里找到了这些信息:http://anvilstudios.co.za/blog/php/how-to-ignore-errors-in-a-custom-php-error-handler/