我想让我网站上的用户将图片上传到他们的帐户.图像大小调整为整个站点所需的4种不同大小.
我一直在使用Pear Image_Transform,但我在某些类型的jpgs(所有文件都在2mb下尝试)中不断出现“字节耗尽”致命错误.所以我搬到了配备奔腾双核E5200 @ 2.50GHz和2GB内存的专用服务器上.上传相同的图像调整大小代码 – 相同的错误.我将php.ini中的RAM增加到了64M但是网站在某些类型的jpg上遇到了同样的问题.还尝试了wideimage类 – 相同的错误(错误始终与imagecreatefromjpeg()). (使用GD2).所有在我的Mac上本地工作正常.
这真的是一个内存问题,我的设置图像调整大小的合理memory_limit是什么?
解决方法:
可以像这样计算出你需要多少内存的粗略指南
$imageInfo = getimagesize( $sourceImagePath );
// a check to make sure we have enough memory to hold this image
$requiredMemoryMB = ( $imageInfo[0] * $imageInfo[1] * ($imageInfo['bits'] / 8) * $imageInfo['channels'] * 2.5 ) / 1024;
这非常粗糙,包括一个软糖因子2.5,你可能想要试验.