Поведение функций зависит от установок в файле php.ini.
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
assert.active | "1" | INI_ALL |
Устарело с PHP 8.3.0 |
assert.bail | "0" | INI_ALL |
Устарело с PHP 8.3.0 |
assert.warning | "1" | INI_ALL |
Устарело с PHP 8.3.0 |
assert.callback | NULL | INI_ALL |
Устарело с PHP 8.3.0 |
assert.quiet_eval | "0" | INI_ALL |
Удалено в PHP 8.0.0 |
assert.exception | "1" | INI_ALL |
До PHP 8.0.0 значение по умолчанию было "0" .
Устарело с PHP 8.3.0
|
enable_dl | "1" | INI_SYSTEM |
Функция устарела и ее удалят в будущем. |
max_execution_time | "30" | INI_ALL |
|
max_input_time | "-1" | INI_PERDIR |
|
max_input_nesting_level | "64" | INI_PERDIR |
|
max_input_vars | 1000 | INI_PERDIR |
|
zend.enable_gc | "1" | INI_ALL |
Краткое разъяснение конфигурационных директив.
assert.active
bool
Включение выполнение assert(). zend.assertions следует использовать вместо этого для управления поведением функции assert().
Функциональность УСТАРЕЛА с PHP 8.3.0. Пользоваться функциональностью настоятельно не рекомендуют.
assert.bail
bool
Завершение работы скрипта при провале проверки утверждений.
Функциональность УСТАРЕЛА с PHP 8.3.0. Пользоваться функциональностью настоятельно не рекомендуют.
assert.warning
bool
Вызов предупреждений PHP для каждой проваленной проверки утверждения.
Функциональность УСТАРЕЛА с PHP 8.3.0. Пользоваться функциональностью настоятельно не рекомендуют.
assert.callback
string
Пользовательская функция, вызываемая при провале проверки утверждений.
assert.quiet_eval
bool
Функциональность УДАЛИЛИ в PHP 8.0.0.
Используйте эту настройку функции error_reporting() во время выполнения проверки утверждений. При включении настройки сообщения об ошибках во время проверки утверждений показываться не будут (неявный вызов error_reporting(0)). Если настройка выключена, ошибки будут выдаваться в соответствии с настройками error_reporting()
assert.exception
bool
Выбрасывает исключение AssertionError в случае неудачной проверки утверждения.
Функциональность УСТАРЕЛА с PHP 8.3.0. Пользоваться функциональностью настоятельно не рекомендуют.
enable_dl
bool
Директива позволяет включать и выключать динамическую подгрузку модулей PHP с помощью функции dl().
Главной причиной, по которой требуется выключение динамической загрузки, является безопасность. С помощью динамической загрузки можно обойти все open_basedir ограничения. По умолчанию динамическая загрузка разрешена.
max_execution_time
int
Эта директива задаёт максимальное время в секундах, в течение которого
скрипт должен полностью загрузиться. Если этого не происходит, парсер
завершает работу скрипта. Этот механизм помогает предотвратить зависание сервера
из-за плохо написанного скрипта. По умолчанию на загрузку даётся
30
секунд. Если PHP запущен из
командной строки, это значение
по умолчанию равно 0
.
В системах, отличных от Windows, на максимальное время выполнения не влияют системные вызовы, потоковые операции и т.п. За дополнительной информацией обращайтесь к документации к функции set_time_limit().
Веб-серверы обычно имеют свои настройки времени ожидания, по превышении которого сами
завершают выполнение скрипта PHP. В Apache есть директива
Timeout
, в IIS есть функция CGI timeout. В обоих случаях
по умолчанию установлено 300 секунд. Точные значения можно узнать из
документации к веб-серверу.
max_input_time
int
Эта директива задаёт максимальное время в секундах, в течение которого скрипт
должен разобрать все входные данные, переданные запросами вроде POST или GET.
Это время измеряется от момента, когда PHP вызван на сервере до
момента, когда скрипт начинает выполняться.
Значение по умолчанию -1
, что означает, что будет использоваться
max_execution_time. Если установить
равным 0
, то ограничений по времени не будет.
max_input_nesting_level
int
Задаёт максимальную глубину вложенности входных переменных (то есть $_GET, $_POST.)
max_input_vars
int
Сколько входных переменных
может быть принято в одном запросе (ограничение накладывается на каждую из
глобальных переменных $_GET, $_POST и $_COOKIE отдельно).
Использование этой директивы снижает
вероятность сбоев в случае атак с использованием хеш-коллизий. Если входных
переменных больше, чем задано директивой, выбрасывается предупреждение
E_WARNING
, а все последующие переменные в запросе
игнорируются.
zend.enable_gc
bool
Включает или отключает сборщик циклических ссылок.