Файл конфігурації
Файл конфігурації (php.ini) читається при запуску PHP. Для версії PHP,
яка запускається як модуль, це відбувається тільки під час старту веб-сервера.
Для випадку, коли PHP використовується як CGI або як
CLI, це відбувається при кожному їх запуску.
php.ini шукається в наступних місцерозташуваннях (за таким порядком):
-
Спеціальне розташування модуля SAPI (визначається директивою
PHPIniDir в Apache 2, параметром -c
в командному рядку в CGI та CLI, параметром php_ini
в NSAPI, змінною оточення PHP_INI_PATH в THTTPD)
-
Змінна оточення PHPRC. Перед PHP 5.2.0,
вона перевірялась після пошуку в ключі реєстра, що згадується нижче.
-
Починаючи з PHP 5.2.0, розташування файла php.ini можна
вказувати для різних версій PHP. Ключі реєстра піддаються перевірці в
такому порядку:
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z],
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] та
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], де
x, y та z означають цифри версії PHP. Якщо значення для
IniFilePath знаходиться в будь-якому з цих ключів, воно
буде використовуватись як місцерозташування файла php.ini
(Тільки у Windows).
-
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP], значення
IniFilePath (Тільки у Windows).
-
Поточна робоча директорія (за виключенням CLI).
-
Директорія веб-сервера (для модуля SAPI), або директорія PHP
(в противному разі - директорія Windows).
-
Директорія Windows (C:\windows
або C:\winnt) (для Windows), або
параметр --with-config-file-path під час компіляції.
Якщо php-SAPI.ini існує (де SAPI означає - SAPI, що
використовується, наприклад, php-cli.ini або
php-apache.ini), його буде використано замість php.ini.
Назву SAPI можна знайти використовуючи функцію php_sapi_name().
Зауваження:
Веб-сервер Apache змінює директорію на кореневу при старті, в результаті чого
PHP читає файл php.ini з кореневої директорії, якщо він там існує.
Змінні оточення можна використовувати в php.ini як показано нижче.
Приклад #1 Використання Змінних Оточення в php.ini
; PHP_MEMORY_LIMIT бере значення із оточення
memory_limit = ${PHP_MEMORY_LIMIT}
Директиви php.ini, що обробляються через розширення, мають опис на
відповідних сторінках розширень. Список директив
ядра знаходиться в додатку. Не всі PHP-директиви описані в цьому
посібнику: повний їх список можна знайти в коментарях файла php.ini вашої
версії PHP. Окрім цього, можна прочитати
» останню версію файла php.ini
зі сховища Git.
Приклад #2 Частина вмісту з файла php.ini
; будь-який текст після символів крапки-з-комою (;) ігнорується
[php] ; маркери розділів (текст вередині квадратних дужок) також ігнорується
; Логічні значення можуть встановлюватись такими записами:
; true, on, yes
; або false, off, no, none
register_globals = off
track_errors = yes
; рядок можна взяти в подвійні дужки
include_path = ".:/usr/local/lib/php"
; зворотні слеші сприймаються точно так як і інші символи
include_path = ".;c:\php\lib"
Починаючи з PHP 5.1.0, є можливість посилатись на існуючі змінні .ini з
середини файла .ini. Наприклад: open_basedir = ${open_basedir}
":/new/dir".