我在函数的开头有以下代码行:
$src_img=imagecreatefromjpeg($name);
$name包含包含图像的非公共可访问文件夹的完整服务器路径,该文件是4.4MB JPG.
通常,当出现此问题时,PHP需要的内存比分配给打开压缩映像的内存要多,并且发出ini_set命令将成员提升到128MB可以解决问题.但是,在这种情况下,它没有.我已经尝试过提高到256,512和1024MB但仍然会出现错误:
Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 17152 bytes) in /imgprocess.php on line 83.
我甚至尝试使用(违禁品!)-1来允许无限的记忆,只是为了看看是否有什么东西导致天空高,但仍然没有去.
我尝试了一个不同的图像文件,因为它是一个糟糕的JPG,仍然没有去.
怎么解决这个问题?
编辑:我应该补充说PHP不是安全模式
最佳答案 这应该可以解决您的问题:
ini_set('memory_limit', '256m');
使用“MB”是一种错误的简写符号. ini_get()不返回标准化值,通常返回它设置的值.