PHP内存不足,但为什么呢?

我在函数的开头有以下代码行:

$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');

请阅读faq.using.shorthandbytes

使用“MB”是一种错误的简写符号. ini_get()不返回标准化值,通常返回它设置的值.

点赞