当我尝试上传 3,424KB 的文件并收到此错误时出现此错误
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 12864 bytes)
但是当我尝试上传一个 4,891KB 的文件时,它很好,为什么会这样?
此外,我还更新了我的php5.ini文件,权限很好,一切都很好。
任何提示都会很棒,谢谢!
J
这是发生错误的代码行:
$image = imagecreatefromjpeg($source);
gd 库在内存中完全解压缩.jpg
文件。因此,只有像素大小很重要,而上传的文件有多大并不重要。
你需要稍微提高你的memory_limit
。
提示
A. GD 失败,因为图像未压缩。
B. 用户memory_limit
增加内存
C.使用Imagick它是内存效率高的
D. 将图像大小调整为可管理的大小
例
try
{
$img = new Imagick ( $imageLarge );
$img->thumbnailImage ( 500, 500, TRUE );
$img->writeImage ( $imageCute );
}
catch ( Exception $e )
{
echo 'Caught exception: ', $e->getMessage (), "'n";
}