允许的内存大小已用完134217728字节(尝试分配18472字节)

Max*_*Max 3 php memory

我在这一行收到上述错误:

imagefill($canvas, 0, 0, imagecolorallocate($canvas, 255, 255, 255));
Run Code Online (Sandbox Code Playgroud)

该脚本适用于所有图像类型,但如果分辨率大于4000 x 3000像素,则会崩溃。图像本身只有500kb。这是所有代码:

$canvas = imagecreatetruecolor(imagesx($source), imagesy($source));
imagefill($canvas, 0, 0, imagecolorallocate($canvas, 255, 255, 255));
imagealphablending($canvas, TRUE);
imagecopy($canvas, $source, 0, 0, 0, 0, imagesx($source), imagesy($source));
imagedestroy($source);
$quality = 100; // 0 = worst / smaller file, 100 = better / bigger file 
imagejpeg($canvas, $strPath.$p_Id.".jpg", $quality);        //----- save image
ImageDestroy($canvas);
Run Code Online (Sandbox Code Playgroud)

Ang*_*kov 5

无论压缩映像的大小是多少,似乎您的库都需要更多的内存。我看到您正在使用128 mb atm,通过使用以下命令将其增加到可以说256。

ini_set('memory_limit','256M');
Run Code Online (Sandbox Code Playgroud)