PHP Налаштування під час виконання

Поведінка цих функцій залежить від установок у php.ini.

Налаштування PHP/Inf-налаштування конфігураціїІм'я Типово Місце зміни Список змін
assert.active"1"PHP_INI_ALL
assert.bail"0"PHP_INI_ALL
assert.warning"1"PHP_INI_ALL
assert.callbackNULLPHP_INI_ALL
assert.quiet_eval"0"PHP_INI_ALL
assert.exception"0"PHP_INI_ALLДоступна з версії PHP 7.0.0.
enable_dl"1"PHP_INI_SYSTEMЦя можливість застаріла і обов'язково буде видалена в майбутньому.
max_execution_time"30"PHP_INI_ALL
max_input_time"-1"PHP_INI_PERDIRДоступна з PHP 4.3.0.
max_input_nesting_level"64"PHP_INI_PERDIRДоступна з PHP 5.2.3.
max_input_vars1000PHP_INI_PERDIRДоступна з PHP 5.3.9.
magic_quotes_gpc"1"PHP_INI_PERDIRPHP_INI_ALL в PHP assert.active boolean

Завершення роботи скрипта під час провалу перевірки тверджень.

Виклик попереджень PHP для кожної проваленої перевірки затвердження.

функція користувача, що викликається при провалі перевірки тверджень.

Використовуйте це налаштування функції error_reporting() під час перевірки тверджень. Якщо увімкнути налаштування повідомлення про помилки під час перевірки тверджень, не відображаються (неявний виклик error_reporting(0)). Якщо вимкнено налаштування, помилки будуть видаватися відповідно до налаштувань error_reporting()

Генеруєвиняток AssertionError для невдалої перевірки затвердження.

Ця директива може бути корисною тільки в PHP, що використовується як модуль Apache. З її допомогою можна включати динамічне підвантаження розширень за допомогою функції dl(). Динамічна завантаження може бути увімкнена або відключена для кожного окремо взятого віртуального сервера або директорії.

Головною причиною, через яку потрібно вимкнення динамічного завантаження, є безпека. За допомогою динамічного завантаження можна обійти всі обмеження open_basedir. За умовчанням динамічне завантаження дозволяється, за винятком роботи в безпечний режим. У безпечний режим дзвінок dl() неможливий.

Ця директива задає максимальний час у секундах, протягом якого скрипт повинен повністю завантажитись. Якщо цього немає, парсер завершує роботу скрипта. Цей механізм допомагає запобігти зависанню сервера через погано написаний скрипт. За промовчанням на завантаження дається 30 секунд. Якщо PHP запущено з командного рядка, значення за промовчанням дорівнює 0.

На максимальний час виконання не впливають системні дзвінки, потокові операції тощо. За додатковою інформацією зверніться до документації до функції set_time_limit().

Під час роботи в безпечному режимі цю настройку не можна змінити функцією ini_set() . Якщо значення все ж таки потрібно змінити, треба або вимкнути безпечний режим, або змінити значення прямо в php.ini.

Веб-сервери зазвичай мають свої налаштування тайм-ауту, після якого самі завершують виконання скрипта PHP. У Apache є директива Timeout, у IIS є функція CGI timeout. В обох випадках за промовчанням встановлено 300 секунд. Точне значення можна дізнатися з документації до веб-сервера.

Ця директива задає максимальний час усекунд, протягом якого скрипт повинен розібрати всі вхідні дані, передані запитами на кшталт POST або GET. Цей час вимірюється з моменту, коли PHP викликаний на сервері до моменту, коли скрипт починає виконуватися. Значення за промовчанням -1, що означає, що використовуватиметься max_execution_time. Якщо встановити рівним 0, то обмежень у часі не буде.

Задає максимальну глибину вкладеності вхідних змінних (тобто $_GET , $_POST .)

Скільки вхідних змінних можна прийняти в одному запиті (обмеження накладається на кожну з глобальних змінних $_GET, $_POST і $_COOKIE окремо). Використання цієї директиви знижує ймовірність збоїв у разі атак із використанням хеш-колізій. Якщо вхідних змінних більше, ніж встановлено директивою, викидається попередженняE_WARNING, а всі наступні змінні в запиті ігноруються.

Ця можливість була оголошена застарілою, починаючи з PHP 5.3.0 і була видалена в PHP 5.4.0.

Задає режим magic_quotes для операцій GPC (Get/Post/Cookie). Якщо magic_quotes включений, всі ' (одинарні лапки), " (подвійні лапки), \ (зворотний сліш) і NUL автоматично екрануються зворотним слешем.

Якщо включена директива magic_quotes_sybase, вона замінює magic_quotes_gpc. Якщо включені обидві директиви, то екрануватимуться лише одинарні лапки, причому екрановані вони будуть тими самими лапками: ''. Подвійні лапки, зворотні сліші та NUL при цьому залишаться недоторканими та неекранованими.

Ця можливість була оголошена застарілою, починаючи з PHP 5.3.0 і була видалена в PHP 5.4.0.

Якщо включена директива magic_quotes_runtime , більшість функцій, що повертають дані із зовнішніх джерел, таких як бази даних або текстові файли, будуть екранувати лапкизворотним слішем. Якщо при цьому директива magic_quotes_sybase також включена, то одинарні лапки екрануватимуться одинарною лапкою замість зворотного слішу.

Включає або вимикає збирач циклічних посилань.