PHP - 允许的内存大小为33554432字节耗尽(尝试分配12864字节)

时间:2012-04-24 17:13:19

标签: php memory-management file-upload fatal-error

当我尝试上传3,424KB的文件并出现此错误时,我收到此错误

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 12864 bytes)

但是当我尝试上传一个4,891KB的文件时,这很好吗?

此外,我已更新了我的php5.ini文件,权限也很好。

任何提示都会很棒谢谢!

Ĵ

这是发生错误的代码行:

 $image = imagecreatefromjpeg($source); 

2 个答案:

答案 0 :(得分:4)

gd库完全解压缩内存中的.jpg文件。因此,只有像素大小才重要,而不是上传文件的大小。

您需要稍微增加memory_limit

答案 1 :(得分:0)

提示

一个。由于图像未压缩,因此GD失败。

B中。用户memory_limit增加内存

℃。使用Imagick它是内存效率

d。将图片重新调整为可管理的尺寸

实施例

try 
{
    $img = new Imagick ( $imageLarge );
    $img->thumbnailImage ( 500, 500, TRUE );
    $img->writeImage ( $imageCute );
} 
catch ( Exception $e ) 
{
    echo 'Caught exception: ', $e->getMessage (), "\n";
}