一尘不染

PHP 5.3.3中的ini_set(“ memory_limit”)根本不起作用

php

我以前有这个工作:

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

然后让我的脚本因致命错误而失败…

我检查了php文档,并对其进行了谷歌搜索,没有发现“ memory_limit”已被弃用的任何地方。

有没有人有办法解决吗?


阅读 600

收藏
2020-05-29

共1个答案

一尘不染

最有可能是您的sushosin已更新,从而将suhosin.memory_limit的默认值从Disabled更改为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的变更日志,其中显示:

更改了memory_limit保护的实现方式

2020-05-29