Встановлення параметрів конфігурації PHP
Для встановлення параметрів конфігурації PHP існує кілька режимів, які визначають, коли і де директива може бути встановлена.

Наприклад, деякі налаштування можуть бути встановлені безпосередньо під час виконання скрипта, використовуючи функцію Ini_set, тоді як інші можуть вимагати Php.ini або Httpd.conf:
- PHP_INI_USER - Значення може бути встановлено в скриптах користувача за допомогою функції Ini_set.
- PHP_INI_PERDIR - Значення може бути встановлене в Php.ini, .htaccess або Httpd.conf.
- PHP_INI_SYSTEM - Значення може бути встановлене в Php.ini або Httpd.conf.
- PHP_INI_ALL - Значення може бути встановлене звідусіль.
Наприклад, директива Date.timezone належить до режиму PHP_INI_ALL, тому значення може бути встановлене звідусіль. А директива Output_buffering відповідає режиму PHP_INI_PERDIR, тому значення може бути встановлене в Php.ini, .htaccess або Httpd.conf і не може бути встановлене через Ini_set.
Якщо PHP використовується як модуль Apache, ви також можете змінювати установки конфігурації, використовуючи директиви у файлах конфігурації Apache (наприклад, httpd.conf) і файлах .htaccess. Для цього вам потрібні "AllowOverride Options" або "AllowOverride All" привілеї.
Також, як і з установкою параметрів конфігурації PHP у різних місцях, не всі директиви конфігурації PHP можна змінювати за допомогою файлів конфігурації Apache.
Загальний синтаксис має такий вигляд:
Не використовуйте Php_value для встановлення логічних значень. Натомість необхідно використовувати Php_flag:
При використанні PHP у Windows значення конфігурації можуть бути змінені на рівні директорії за допомогою реєстру Windows.
Незалежно від того, як ви запускаєте PHP, ви можете змінювати деякі значення під час виконання ваших скриптів за допомогою Ini_set.
Для виведення повного списку конфігураційних налаштувань вашої системи з поточними значеннями необхідно запустити функцію Phpinfo. Ви також можете отримати доступ до значень індивідуально налаштованих директив у процесі виконання, використовуючи функцію Ini_get.

Наприклад, деякі налаштування можуть бути встановлені безпосередньо під час виконання скрипта, використовуючи функцію Ini_set, тоді як інші можуть вимагати Php.ini або Httpd.conf:
- PHP_INI_USER - Значення може бути встановлено в скриптах користувача за допомогою функції Ini_set.
- PHP_INI_PERDIR - Значення може бути встановлене в Php.ini, .htaccess або Httpd.conf.
- PHP_INI_SYSTEM - Значення може бути встановлене в Php.ini або Httpd.conf.
- PHP_INI_ALL - Значення може бути встановлене звідусіль.
Наприклад, директива Date.timezone належить до режиму PHP_INI_ALL, тому значення може бути встановлене звідусіль. А директива Output_buffering відповідає режиму PHP_INI_PERDIR, тому значення може бути встановлене в Php.ini, .htaccess або Httpd.conf і не може бути встановлене через Ini_set.
Якщо PHP використовується як модуль Apache, ви також можете змінювати установки конфігурації, використовуючи директиви у файлах конфігурації Apache (наприклад, httpd.conf) і файлах .htaccess. Для цього вам потрібні "AllowOverride Options" або "AllowOverride All" привілеї.
Також, як і з установкою параметрів конфігурації PHP у різних місцях, не всі директиви конфігурації PHP можна змінювати за допомогою файлів конфігурації Apache.
Загальний синтаксис має такий вигляд:
php_value name valueМоже використовуватись лише з директивами типу PHP_INI_ALL та PHP_INI_PERDIR. Використовуйте None для очищення попередніх встановлених значень.Не використовуйте Php_value для встановлення логічних значень. Натомість необхідно використовувати Php_flag:
php_flag name on|offВикористовується для встановлення директив логічних значень. Може використовуватися лише з директивами типу PHP_INI_ALL та PHP_INI_PERDIR.php_admin_value name valueВстановлює значення зазначеної директиви. Не можна використовувати у файлах .htaccess. Директиви будь-якого типу, встановлені за допомогою Php_admin_value, не можуть бути перевизначені через .htaccess або Ini_set. Щоб очистити попереднє значення, використовуйте None.php_admin_flag name on|offВикористовується для встановлення директив логічних значень. Не можна використовувати у файлах .htaccess. Директиви будь-якого типу, встановлені за допомогою Php_admin_flag, не можуть бути перевизначені через .htaccess або Ini_set.PHP-константи недоступні поза PHP. Наприклад, у Httpd.conf ви не можете використовувати константи PHP, такі як E_ALL або E_NOTICE, щоб встановити директиву Error_reporting, тому що вони не будуть мати значення і будуть прирівнюватися до "0". Використовуйте натомість відповідні значення типу bitmask (бітова маска).
При використанні PHP у Windows значення конфігурації можуть бути змінені на рівні директорії за допомогою реєстру Windows.
Незалежно від того, як ви запускаєте PHP, ви можете змінювати деякі значення під час виконання ваших скриптів за допомогою Ini_set.
Для виведення повного списку конфігураційних налаштувань вашої системи з поточними значеннями необхідно запустити функцію Phpinfo. Ви також можете отримати доступ до значень індивідуально налаштованих директив у процесі виконання, використовуючи функцію Ini_get.
