博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
imagecreatefromjpegAllowed memory size of 13421772
阅读量:6288 次
发布时间:2019-06-22

本文共 1108 字,大约阅读时间需要 3 分钟。

hot3.png

错误

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 3200 bytes) in

$image_path = 'E:\www\01.jpg';echo '1: ' . memory_get_usage() . '
';$img1 = imagecreatefromjpeg($image_path);echo '2: ' . memory_get_usage() . '
';$img2 = imagecreatetruecolor(800, 23277);echo '3: ' . memory_get_usage() . '
';

输出如下:

1: 1117840

2: 95350704

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 3200 bytes) in E:\www\Demo.php on line 88


可以看出,imagecreatefromjpeg用了94M内存,下面的imagecreatetruecolor也需要94M内存,两者加上就超过默认的128M了,所以,imagecreatetruecolor函数报错,原因在哪里,因为这个图片的高度实在太高了,23227个像素

解决办法

先获取图片的高度,如果高度大于10000,那就就设置php可用内存ini_set('memory_limit', '256M');

$image_path = 'E:\www\01.jpg';$image_info = getimagesize($image_path);if ($image_info[1] > 10000) {    ini_set('memory_limit', '256M');}echo '1: ' . memory_get_usage() . '
';$img1 = imagecreatefromjpeg($image_path);echo '2: ' . memory_get_usage() . '
';$img2 = imagecreatetruecolor(800, 23277);echo '3: ' . memory_get_usage() . '
';

输出如下:

1: 1120504

2: 95353368

3: 135840936

转载于:https://my.oschina.net/tomener/blog/703316

你可能感兴趣的文章
ItelliJ IDEA开发工具使用—创建一个web项目
查看>>
solr-4.10.4部署到tomcat6
查看>>
切片键(Shard Keys)
查看>>
淘宝API-类目
查看>>
virtualbox 笔记
查看>>
Git 常用命令
查看>>
驰骋工作流引擎三种项目集成开发模式
查看>>
SUSE11修改主机名方法
查看>>
jdk6.0 + Tomcat6.0的简单jsp,Servlet,javabean的调试
查看>>
Android:apk签名
查看>>
2(2).选择排序_冒泡(双向循环链表)
查看>>
MySQL 索引 BST树、B树、B+树、B*树
查看>>
微信支付
查看>>
CodeBlocks中的OpenGL
查看>>
短址(short URL)
查看>>
第十三章 RememberMe——《跟我学Shiro》
查看>>
mysql 时间函数 时间戳转为日期
查看>>
索引失效 ORA-01502
查看>>
Oracle取月份,不带前面的0
查看>>
Linux Network Device Name issue
查看>>