2012-05-24 49 views
3


我正在寫一個腳本,在那裏我需要將內存限制設置爲某個特定點非常高的內容。但是,之後我需要恢復內存限制。ini_set/ini_get memory_limit恢復內存php


但是,ini_get返回-1,如果你的腳本不叫的ini_set設置內存限制。
我試圖做這樣的事情:

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

但是,$ oldLimit爲-1。
在這種情況下,-1意味着什麼。
在此先感謝。

回答

4

-1表示無限制,換句話說,您受服務器物理內存的限制。因此,將memory_limit設置爲高點沒有意義

+0

thnx @periklis我正在嘗試一些其他解決方案 – Ravish

3

根據文檔,-1表示沒有內存限制(http://ca.php.net/manual/en/ini.core.php)

(說到這裏,可能有其他內存resrictions給你造成的悲傷。)

此外,中ini_set()僅適用於該腳本運行的持續時間,而不是永久的,也不適用到當時或未來運行的任何其他腳本。所以如果你確實做了修改,你可能不需要重新設置它們,因爲腳本結束時它們會回退。

+0

非常感謝您的建議...... – Ravish