Laravel 4.2抛出NotReadableException“;不支持的图像类型。GD驱动程序只能解码JPG、PNG、GIF或WebP文件;

Laravel 4.2抛出NotReadableException“;不支持的图像类型。GD驱动程序只能解码JPG、PNG、GIF或WebP文件;,laravel,image,jpeg,gd,Laravel,Image,Jpeg,Gd,在检查了大约20种解决方案后,我放弃了,需要帮助。 我有两个JPG文件。两者都有适当的mime,它们不太大,不适合上传最大文件大小,名称正常,路径正常。每一个解决方案都涉及其中一个问题 我的问题是,当我在第一个图像上运行脚本时,一切正常,没有错误,创建了对象: $image1 = Image::make(public_path()."/uploads/goodimage.jpg"); 参见示例: 当我在其他图片上运行它时,我发现错误: $image2 = Image::make(public

在检查了大约20种解决方案后,我放弃了,需要帮助。 我有两个JPG文件。两者都有适当的mime,它们不太大,不适合上传最大文件大小,名称正常,路径正常。每一个解决方案都涉及其中一个问题

我的问题是,当我在第一个图像上运行脚本时,一切正常,没有错误,创建了对象:

$image1 = Image::make(public_path()."/uploads/goodimage.jpg");
参见示例:

当我在其他图片上运行它时,我发现错误:

$image2 = Image::make(public_path()."/uploads/badimage.jpg");
参见示例:

错误消息:

不支持干预\Image\Exception\NotReadableException 图像类型。GD驱动程序只能解码JPG、PNG、GIF或WebP 档案

Windows和Linux上的情况相同。我检查过的每个图形程序和浏览器都会打开文件。 这些问题是在PHP从5.5.x升级到5.6.35之后开始出现的。以前很好。

好的,我找到了解决方案:

$image2 = Image::make(file_get_contents(public_path()."/uploads/badimage.jpg"));
也适用于表单中的文件对象:

$image2 = Image::make(file_get_contents(Input::file('upload_file'));

我也有同样的问题,我的解决方法是下一个。 我必须更改nginx允许用户在/etc/nginx.conf中上载的大小,如下所示:

 http {
    client_max_body_size 100M;
 }
我还必须更改我的php.ini,以增加上传文件的大小和总大小:

upload_max_filesize = 4M
post_max_size = 16M

我希望能帮助某人更改php.ini文件中的以下变量

打印phpinfo()以查找php.ini位置

如果在软件部分->php版本->点击“切换到php选项”下找到它。然后更改值。
同时将
max\u execution\u time
更改为
600

dd(public\u path().“/uploads/goodimage.jpg”)JPEG流使用哪种类型的帧?@user3344003您是指GD还是imagick?比如错误,GD。顺序,基线,或渐进,或其他。我的webapp的每个用户都创建并上传JPEG,我不会告诉他们如何存储图片。它应该存储每种类型的流,就像在5.5.x中一样。在PHP更新之后,它不会更新,我正在寻找解决方案。
post_max_size = 128M
upload_max_filesize = 128M