你好,我在phpini文件中设置了下面的ini变量。
max_execution_time 50000
memory_limit 40米
post_max_size 8M
当我尝试制作图像的缩略图时,它给了我以下错误:
致命错误:内存不足(已分配30670848) (尝试分配14976字节)
图像大小为700kb。
有人能帮我吗?
发布于 2010-09-25 22:37:16
您的问题不是对imagecreatefromjpeg()的单个调用,而是您之前分配的内存。毕竟,分配失败,内存请求仅为~14kB。
也许你之前在相同的脚本中创建了图像,而没有使用imagedestroy()释放它们的内存,或者你有另一个内存问题。在后一种情况下,您可以使用调试工具(例如webgrind)来查找内存占用情况。
发布于 2010-09-26 05:58:35
你的700kb图像的分辨率是多少?原始的.JPG有多大并不重要。如果它是一个非常“简单”的图像,它可能是10000x10000像素。当它被PHP加载/解压缩时,这些像素将需要10kx10kx3=286MB(每个红/绿/蓝分量值需要10x的平方乘以3)。
当然,你说你已经将内存限制设置为40M,但是你的内存只有29.25兆。可能是设置中的某处有覆盖,可能是在站点特定的web服务器.conf文件中,或者是.htaccess中,它将限制设置为低于40M。
https://stackoverflow.com/questions/3794197
复制相似问题