我正在尝试上传和调整JPG照片的大小。上传照片后我会调整它,但会收到以下错误:
致命错误:允许的内存大小为67108864字节耗尽(尝试分配15104字节)
配置(php.ini
):
memory_limit = 64M
PHP:
ini_set("memory_limit", "64M");
我做错了什么?
答案 0 :(得分:1)
让我们进行转换:
67 108 864字节= 65 536千字节= 64兆字节
67 123 968字节= 64兆字节+ 15 104字节(溢出)
结论: 64M
是不够的。
答案 1 :(得分:1)
使用GD调整jpeg图像大小时,文件大小通常不会像图像尺寸那样对内存使用产生太大影响。这是因为jpegs具有着名的高压缩性,GD函数(例如imagecreatefromjpeg
)将生成未压缩的图像/像素数据。你可以通过尝试至少一些事情来避免你的错误:
memory_limit
答案 2 :(得分:1)
解压缩的图像每个像素至少占用3个字节,因此如果您的图像非常大,则可能会遇到麻烦。但是,它也可能是您的代码有问题。不要忘记在内存中不再需要的任何图像上调用imagedestroy。