我有一个用PHP制作的调整大小脚本,它使用GD(我的VPS没有安装imagemagick)来调整图像大小,我最近开始出现内存错误,所以我已经将memory_limit增加到50Mb并仍然获得内存错误。
我想要调整大小的图像只有2Mb,对于PHP图像来说这是正确的,对我来说听起来有点不对。
答案 0 :(得分:6)
要调整图像大小,GD必须处理未压缩的图像,这个图像明显大于2MB,我假设。 Imagemagick需要存储整个图像数据(像素* bit_depth),还需要存储内存中的实际工作。
50兆字节不适用于处理图像。例如,如果您的内存限制小于96MB,如果您启用了图像大小调整等,Drupal会发出警告。对于尺寸合理的图像,根据我的经验,64MB就足够了,但如果你从数码相机中放入全尺寸图像,你就会遇到内存限制的问题。
答案 1 :(得分:0)
在我的共享/云托管上(2.7英镑/月)我在调整图像大小时仍然没有看到任何警告/错误。我将限制设置为200MB(有时用户需要上传非常大的图像)。正如法比安所说,我认为50太低了。