3


我正在编写一个脚本,我需要在某个点将内存限制设置为非常高的值。但是,在那之后我需要恢复内存限制。


但是,如果您的脚本没有调用ini_set来设置内存限制 ,则 ini_get返回 -1。 我正在尝试做这样的事情:

$oldLimit  = ini_get("memory_limit");
ini_set("memory_limit", "220M");
do something 
//restore memory
ini_set("memory_limit", -1);

但是,$oldLimit是 -1。
-1 在这种情况下意味着什么。
提前致谢。

4

2 回答 2

4

-1 表示无限制,或者换句话说,您受到服务器物理内存的限制。因此,将 memory_limit 设置为高值是没有意义的

于 2012-05-24T14:12:09.883 回答
3

根据文档,-1 表示没有内存限制(http://ca.php.net/manual/en/ini.core.php)

(话虽如此,可能还有其他内存限制导致您悲伤。)

此外,ini_set() 仅适用于该运行脚本的持续时间,并且不是永久的,也不适用于当时或将来运行的任何其他脚本。因此,如果您确实进行了更改,您可能不需要将它们设置回来,因为它们只会在脚本结束时回退。

于 2012-05-24T14:14:54.680 回答