Налаштування під час виконання
Поведінка цих функцій залежить від установок у php.ini.
Установки PHP/Параметри конфігурації інформації
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
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 |
Додаткова інформація та опис режимів INI_* дано у розділі «Місця встановлення параметрів конфігурації».
Коротке пояснення конфігураційних директив.
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 запущен изкомандного рядка, це значення за умовчанням дорівнює
У системах, відмінних від Windows, на максимальний час не впливають системні виклики, потокові операції тощо. За додатковою інформацією звертайтесь до документації до функції set_time_limit()
Веб-сервери зазвичай мають свої налаштування часу очікування, після перевищення якого самі завершують виконання скрипта PHP. В Apache є директива Timeout
У IIS є функція CGI timeout. В обох випадках за промовчанням встановлено 300 секунд. Точне значення можна дізнатися з документації до веб-сервера.
max_input_time
int
Ця директива визначає максимальний час у секундах, протягом якого скрипт повинен розібрати всі вхідні дані, передані запитами на кшталт POST або GET. Цей час вимірюється з моменту, коли PHP викликаний на сервері до моменту, коли скрипт починає виконуватися. Значення за замовчуванням -1
що означає, що буде використовуватися max_execution_time. Якщо встановити рівним , то обмежень у часі не буде.
max_input_nesting_level
int
Задає максимальну глибину вкладеності вхідних змінних (тобто $_GET $_POST
max_input_vars
int
Скільки вхідних змінних може бути прийнято в одному запиті (обмеження накладається на кожну з глобальних змінних $_GET, $_POST та $_COOKIE окремо). Використання цієї директиви знижує ймовірність збоїв у разі атак із використанням хеш-колізій. Якщо вхідних змінних більше, ніж встановлено директивою, викидається попередження **E_WARNING
**а всі наступні змінні в запиті ігноруються.
zend.enable_gc
bool
Включає або вимикає збирач циклічних посилань.