У меня был index.php
и несколько файлов, которые включают каскадирование, что-то вроде этого.
index.php -> controller.php -> model.php -> view.php
В model.php
меня есть функция, использующая ini_set('memory_limit', '-1');
Когда истечет время изменения ini_set()
?
После выполнения index.php
? Или view.php
? Или функция в model.php
?
ini_set()
является глобальным для всего, что происходит в скрипте (а не только из текущего файла: весь поток выполнения, который происходит), для всего этого запроса; не имеет значения, откуда вы его вызываете, это всегда будет влиять на глобальные настройки для этого скрипта. Эффект истекает, когда ваш скрипт заканчивается – например, через exit
, die
или завершение конца index.php
.
Это не повлияет ни на какие другие скрипты, выполняемые одновременно (они должны сами вызвать ini_set
), и он не будет сохраняться в более поздних запросах (если вам нужны постоянные настройки, вам нужно отредактировать php.ini
).
Обратите внимание, что документация говорит то же самое :
Устанавливает значение данного параметра конфигурации. Опция конфигурации сохранит это новое значение во время выполнения скрипта и будет восстановлена при завершении скрипта.
Изменить: поскольку это, по-видимому, неясно: значение, которое вы изменяете с помощью ini_set
будет действительным для всего скрипта. Неважно, где выполняется исполнение (в каком файле, в каком классе, в какой функции); настройка будет одинаковой, везде. Он останется таким, пока вы его не измените, или пока весь скрипт не завершится. (а не текущий файл, а не текущая функция, весь скрипт)