ini_set/ini_get memory_limit恢复内存 php


ini_set/ini_get memory_limit restoring memory php


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

但是,如果脚本尚未调用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 是什么意思。提前谢谢。

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

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

(话虽如此,可能还有其他记忆结构导致你悲伤。

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