我知道有很多关于这个问题的问题。但我仍然无法理解原因。 添加调整大小功能时显示错误。
Image::make($logo)->resize(200*200)->save(public_path('Uploads/logo/' . $fileName));
否则它工作正常。 为什么函数会尝试消耗这么多内存?
答案 0 :(得分:5)
执行->resize(200*200)
时,您没有将图像大小调整为200像素×200像素,而是将宽度(resize()函数的第一个参数)传递为200倍200,即40,000,因此记忆问题。
你需要这样做:
Image::make($logo)->resize(200, 200)->save(public_path('Uploads/logo/' . $fileName));
答案 1 :(得分:0)
调整大小可以使用大量内存。也许在这种情况下原始图像很大。您可以尝试先将其展平为JPG,然后再调整大小。
要增加内存限制,您可以在PHP脚本之上添加它:
ini_set('memory_limit', '2G');
答案 2 :(得分:0)
根据应用程序需求增加php.ini中的变量memory_limit = 128M
。可能是256M / 512M / 1048M .....