ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

PHP接口报错:Unable to init from given binary data

2022-05-21 12:02:01  阅读:260  来源: 互联网

标签:binary given vendor Image init Gd 报错 php Intervention


前因:

  事情是这样的,前几天不是使用Laravel做了一个图片比对的功能么,因为需要安装Composer扩展,并且这个扩展的使用,需要开启PHP的GD库的扩展支持。

  所以本地以及都调试好了,于是今天就上线。然后问题就来了,上线后,请求测试方法,接口直接报 500了。

后果:

  因为是线上环境,所以没有开启 APP_DEBUG,所以任何错误都是直接 500,这个时候,只能靠猜了。

    猜测1:我认为是代码没有合到master上去,于是联系运维帮忙看了下,发现已经合上去了;

    猜测2:我认为是Composer扩展没有安装好,于是联系运维帮忙看了下,发现已经安装完毕了;

  经过上面的测试后,发现还是无法定位到问题所在,于是,让运维发了下 \storage\logs\laravel.log 日志文件,发现如下错误提示:

[2022-05-21 10:43:43] production.ERROR: Unable to init from given binary data. 
{"exception":"[object] (Intervention\\Image\\Exception\\NotReadableException(code: 0): Unable to init from given binary data. at /php/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php:131)
[stacktrace]
#0 /php/vendor/intervention/image/src/Intervention/Image/AbstractDecoder.php(82): Intervention\\Image\\Gd\\Decoder->initFromBinary()
#1 /php/vendor/intervention/image/src/Intervention/Image/AbstractDecoder.php(335): Intervention\\Image\\AbstractDecoder->initFromUrl()
#2 /php/vendor/intervention/image/src/Intervention/Image/AbstractDriver.php(66): Intervention\\Image\\AbstractDecoder->init()
#3 /php/vendor/intervention/image/src/Intervention/Image/ImageManager.php(54): Intervention\\Image\\AbstractDriver->init()
#4 /php/vendor/jenssegers/imagehash/src/ImageHash.php(35): Intervention\\Image\\ImageManager->make()

解决:

  Unable to init from given binary data

  无法从给定的二进制数据初始化,最开始,也很懵,但是看到第二行后面,有一个 Gd,意识到,可能是线上,运维PHP的扩展Gd库没有开好。

  于是,写了一个 echo phpinfo();提交了上去,打印输出一看。运维那狗日果然,没开好(上线的时候,给他说了,让运行下Composer指令,然后开启下PHP的Gd库扩展)。

 

   最后,线上开启了PHP的Gd库扩展就好了。

标签:binary,given,vendor,Image,init,Gd,报错,php,Intervention
来源: https://www.cnblogs.com/camg/p/16294769.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有