允许的内存大小为134217728字节耗尽(试图分配81920001字节)

时间:2017-05-30 09:01:45

标签: php

我知道有很多关于这个问题的问题。但我仍然无法理解原因。 添加调整大小功能时显示错误。

Image::make($logo)->resize(200*200)->save(public_path('Uploads/logo/' . $fileName));

否则它工作正常。 为什么函数会尝试消耗这么多内存?

3 个答案:

答案 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 .....