ubuntu php imagecreatefrompng,php – imagecreatefrompng(和imagecreatefromstring)导致无法恢复的致命错误...

最新推荐文章于 2023-10-09 09:20:02 发布
最新推荐文章于 2023-10-09 09:20:02 发布 阅读量812

当我尝试在不正确的png图像上使用php-gd函数时,我有致命的PHP错误.它似乎是某种bug,因为相应的函数文档(例如imagecreatefrompng):

* @return资源成功时的图像资源标识符,错误时为false.

但是当我尝试使用不正确的图像时,我有:

致命错误:imagecreatefrompng():gd-png:致命的libpng错误:读取错误:第61行的/var/www/common/models/Utils.php中的截断数据

导致此错误的代码很简单:

$handle = imagecreatefrompng($fname);

此字符串后没有代码执行.

尝试从同一个字符串创建图像时,imagecreatefromstring的行为相同.

我不能“修复”这张图片,因为它是用户提供的,所以我需要处理这种情况.

我试着像这样使用try … catch块:

echo 'start'."\n";

try {

imagecreatefromstring($result);

} catch (\Throwable $e) {

echo 'error'."\n";

return null;

echo 'success'."\n";

但是脚本输出只是“开始”,然后死掉并显示我上面发布的错误描述.

Ubuntu 16.04.2,PHP 7.0,php7.0-gd扩展,都是最新版本.

所以我无法用try … catch块处理它,我根本不知道如何处理或修复它.有任何想法吗?

UPD:这似乎是环境中非常奇怪的错误,因为当我在Windows下运行相同的代码(使用PHP 7.0)时,它会产生正确的“警告”错误.

解决方法:

派对有点晚了,但我也遇到了这个问题,并且不能等待我的ubuntu LTS中包含bug修复

我找到的唯一干净的解决方法实际上是使用Imagick :: valid()检查图像是否有效.

function imageIsValid($path)

$imagick = new \Imagick($path);

return $imagick->valid();

catch (\Exception $e)

return false;

当然,你的服务器/托管需要安装php imagick扩展…

标签:php,php-7,php-gd

来源: https://codeday.me/bug/20190627/1306740.html

ubuntu php imagecreatefrompng,php – imagecreatefrompng(和imagecreatefromstring)导致无法恢复的致命错误... 当我尝试在不正确的png图像上使用php-gd函数时,我有致命的PHP错误.它似乎是某种bug,因为相应的函数文档(例如imagecreatefrompng):* @return资源成功时的图像资源标识符,错误时为false.但是当我尝试使用不正确的图像时,我有:致命错误:imagecreatefrompng():gd-png:致命的libpng错误:读取错误:第61行的/var/www/comm...
最近使用Python实现强化学习走迷宫的毕设过程中,我用pygame加载自己用PS画的 png 图片,在执行代码后出现了 png 图片 导致 的一片红色警告,原因是新版的 libpng 增强了检查,以下仅附上出现此问题的相关代码: (1)在config.py文件中定义字符串相关参数 # 图片路径 class Img: normal = "imgs/normal. png " active = "imgs/acti...
PNG lib warning : Inte rl ace hand lin g should be turned on when using png _read_ image VERTEX glCompileShader "" FAILED VERTEX Shader "" infolog: 0(6) : error C5060: out can't be used with non-varying texCoord
人工智能数据集(1003.json) 器具位于空调空间,温度、湿度均衡,唯有日月引力、气压影响结果。 幸运之门软件突破简单数字囹圄,实时采集天体信息,构建三角引力模型,直抵随机数据之秘。 包括但不限于纬度(北京中心区)、月球赤纬及开奖当时的太阳地球距离、地月距离等等。 依据“下期开出时间”的“日月引力”、“大气压”等模型演算出若干珠玑数据。 属于高级智能计算,需从(100多万)中摘选最佳数据。
CSS,可以帮助把网页外观做得更加美观; JavaScript,是一种轻量级的解释型编程语言; jQuery,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互; Bootstrap 是快速开发 Web 应用程序的前端工具包。它是一个 CSS,HTML 和 JS 的集合,它使用了最新的浏览器技术,给你的 Web 开发提供了时尚的版式; AJAX,创建交互式网页应用的网页开发技术。 【设计思路】 用户友好性:界面简洁直观,易于操作,减少用户的学习成本。 模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的权限,确保用户只能访问其权限范围内的功能。 数据安全:对用户数据进行加密存储、访问控制等措施,保护用户隐私和系统安全。 日志功能:记录关键操作日志,保留操作痕迹。
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。