PHP内存耗尽,虽然内存限制没有达到

PHP内存耗尽,虽然内存限制没有达到

问题描述:

我目前正在调试一个PHP脚本。 我设置了memory_limit的为64M,它证实了这一点:PHP内存耗尽,虽然内存限制没有达到

ini_set("memory_limit","64M"); 
echo "starting script with ".ini_get("memory_limit")."Bytes of ram\n"; \\64 

但尽管如此脚本打破只使用20M给予标准内存耗尽错误。

Fatal error: Allowed memory size of 20971520 byte exhausted 

有我可能没想到的可能性? 也许Apache正在为PHP设置一些东西?

+1

什么错误? – Sjoerd 2011-03-08 09:28:31

+1

请注明确切的错误与数字沿着它显示了PHP的 – 2011-03-08 09:28:50

+0

什么版本? – meze 2011-03-08 09:32:41

也许safe_mode在您的服务器上启用 - 如果是这样,很多设置不能使用ini_set()更改。请看看你的php.ini并检查一下。

编辑:,如果你在php.ini直接重启改变值memory_limit的会发生什么/重装你的Apache(或其他)?它在那种情况下工作吗?

EDIT2到wuschelhases评论:

  • 你重新更改后的php.ini Apache的?你真的确定你改变了正确的php.ini(可能不只有一个)?
  • 什么操作系统是正在运行的(这是一个Linux服务器,Windows服务器或您的Windows家用PC的一个简单的XAMPP安装)?
  • 什么phpinfo()说的内存限制?
+0

php.ini中的内存限制已经设置为64M。 – wuschelhase 2011-03-08 10:40:40

+0

@wuschelhase查看'phpinfo()'以查看正在使用的php.ini的确切路径。有机会你没有编辑正确的。 – 2011-03-08 11:08:10

+0

它是safe_mode,在phpinfo()中找到它 – wuschelhase 2011-03-08 13:55:52

更好

尝试一下本作无限的记忆:

ini_set("memory_limit",-1)