设置(“记忆

我之前有这个工作:

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”已被废弃的地方。

有没有人有办法解决吗?


最有可能的是你的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的更新日志,其中说:

更改了memory_limit保护的实施方式


如果启用了suhosin扩展,它可以防止脚本将内存限制设置为超出其启动的内容或某个已定义的上限。

http://www.hardened-php.net/suhosin/configuration.html#suhosin.memory_limit


以下是一些值得检查的内容:

Suhosin是否安装?

  • 如何检查Suhosin是否安装?
  • 的ini_set

  • 格式很重要ini_set('memory_limit', '512'); // DIDN'T WORK ini_set('memory_limit', '512MB'); // DIDN'T WORK ini_set('memory_limit', '512M'); // OK - 512MB ini_set('memory_limit', 512000000); // OK - 512MB ini_set('memory_limit', '512'); // DIDN'T WORK ini_set('memory_limit', '512MB'); // DIDN'T WORK ini_set('memory_limit', '512M'); // OK - 512MB ini_set('memory_limit', 512000000); // OK - 512MB
  • 当使用整数时,该值以字节为单位进行测量。 如本FAQ中所述,速记符号也可以使用。

    http://php.net/manual/en/ini.core.php#ini.memory-limit

  • 在.htaccess或虚拟主机文件中是否使用了php_admin_value?
  • 设置指定指令的值。 这不能在.htaccess文件中使用。 任何使用php_admin_value设置的指令类型都不能被.htaccess或ini_set()覆盖。 要清除以前设置的值,请​​使用none作为值。

    http://php.net/manual/en/configuration.changes.php

    链接地址: http://www.djcxy.com/p/65075.html

    上一篇: set("memory

    下一篇: date issue