php - ini_set ("memory_limit") 在 PHP 5.3.3 中根本不起作用

标签 php memory apache2 debian

我之前有这个工作:

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/

相关文章:

无法访问地址 X 处的内存

perl - 使用 mod-perl 2 获取 http POST 请求的主体

PHP/Go 套接字通信

php - 如果 url 包含正确的字符串,则更改导航栏中的背景颜色

python - 在 python 中将 View 分配给相同的名称与新名称有什么好处吗?

c - 将文本存储在 C 中的字符矩阵中

javascript - 使用 AJAX 调用 PHP 函数

php - 从 sql count() 获取单独的答案到 php

apache - 将 "static"子域别名限制为非 HTML 文件,否则重定向到 "www"

c++ - C/C++ - 如何在 Apache HTTP Server 中创建单例连接模块?