2012-05-24 3 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