PHP GD库无法压缩高解析度的照片解决方式(Allowed memory size bytes exhausted)

在刚刚遇到了这个问题

上传普通解析的图片,例如 2000x2000 都是可以正常上传
也能够使用 GD库对其解压缩
只是当我上传了 6000x6000 甚至更高的图片时,一样可以普通上传
但是却无法上传?
查看 error_log 错误表示

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 8192 bytes)

类似这样的错误讯息
只要在后端表头宣告就能够解决(但很耗能,记忆体要很够...)

ini_set('memory_limit', '-1'); 

或是到 php.ini 修改 「memory_limit」值
macos 的php.ini路径:/etc/php.ini
ubuntu 的php.ini路径:/etc/php/7.0/apache2
取决于你使用的php版本

参考
https://ianakaberlin.medium.com/php-gd%E5%BA%AB-%E5%A3%93%E7%B8%AE%E9%AB%98%E8%A7%A3%E6%9E%90%E5%BA%A6%E7%85%A7%E7%89%87%E5%87%BA%E7%8F%BE-allowed-memory-size-bytes-exhausted-%E9%8C%AF%E8%AA%A4%E8%A7%A3%E6%B1%BA%E6%96%B9%E5%BC%8F-%E4%BC%8A%E6%81%A9%E8%B8%A9%E5%9D%91%E7%AD%86%E8%A8%98-caa0bf25d087


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章