我之前有这个工作:
echo ini_get("memory_limit")."\n";
ini_set("memory_limit","256M");
echo ini_get("memory_limit")."\n";
那会输入这个:
32M
256M
在命令行执行的 php 脚本上。 我从 5.2 更新到 5.3,从现在开始,这个指令根本不起作用:这给了我:
32M
32M
然后让我的脚本因 fatal error 而失败...
我检查了 php 文档,并在 google 上搜索了它,但我没有发现“memory_limit”已被弃用的任何地方。
有人有解决办法吗?
最佳答案
很可能您的 sushosin 已更新,这将 suhosin.memory_limit 的默认值从禁用更改为 0(这将不允许对 memory_limit 进行任何更新)。
在 Debian 上,更改/etc/php5/conf.d/suhosin.ini
;suhosin.memory_limit = 0
到
suhosin.memory_limit = 2G
或任何您喜欢的值。您可以在 http://www.hardened-php.net/hphp/changelog.html 找到 Sushosin 的更新日志,上面写着:
Changed the way the memory_limit protection is implemented
关于php - ini_set ("memory_limit") 在 PHP 5.3.3 中根本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5061917/