PHP/directives

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

Директивы PHP — опции настройки PHP.

Директивы могут относиться как непосредственно к интерпретатору PHP, так и к расширениям.

Указание опций PHP

В зависимости от режимов доступа указаний параметров, директивы для конфигурирования PHP можно размещать не только в основном файле конфигурации PHP - php.ini, но также и в конфигурационных файлах веб сервера Apache, и в частности в файле .htaccess для каждой конкретной директории. Это позволяет проводить тонкую настройку php для разных директорий.

Уровень доступности

У каждой PHP директивы есть определённый уровень доступности указания. Проще говоря, те места, где их можно изменить. Всего таких уровней 4 и представлены они в следующей таблице.

Определение режимов PHP_INI_*
Режим Описание
PHP_INI_USER Значение может быть установлено в пользовательских скриптах (с помощью ini_set()) или в реестре Windows. С версии PHP 5.3 значение может быть установлено в .user.ini
PHP_INI_PERDIR Значение может быть установлено в php.ini, .htaccess или httpd.conf (С версии PHP 5.3)
PHP_INI_SYSTEM Значение может быть установлено в php.ini или httpd.conf
PHP_INI_ALL Значение может быть установлено отовсюду

На официальном сайте PHP для каждой директивы указан свой уровень доступности изменений, по которому становится понятно где именно можно изменять ту или иную директиву.

Веб-сервер Apache

Для работы с PHP в конфигурационных файлах Apache доступны 4 директивы: php_value, php_flag, php_admin_value, php_admin_flag, которые отличаются значимостью, типом устанавливаемых значений и местом применения.

Директивы php_admin_value, php_admin_flag выставляются только в файле httpd.conf и в .htaccess недопустимы. По сути, данные директивы переопределяют значение остальных директив.

Директива php_flag служит для установки логических значений директив в php.ini, т.е. директив, которые могут иметь одно из двух определённых значений, чаще всего это on и off (1 и 0), включено и выключено соответственно. Узнать какие директивы должны иметь подобные значения можно на странице информации о PHP выводимой функцией phpinfo().

Директива php_value служит для установки самых различных строковых и числовых значений директив php.ini, т.е. любых типов значений, за исключением логических.

Синтаксис директив очень прост:

php_flag  имя директивы on | off
php_value  имя директивы VALUE

Популярные PHP директивы

Перечень наиболее часто используемых директив PHP
ДирективаОписание
mysql.default_host Устанавливает имя хоста базы данных.
Пример: php_value mysql.default_host localhost
mysql.default_user Устанавливает имя пользователя базы данных
Пример: php_value mysql.default_user alexey
mysql.default_password Устанавливает пароль пользователя базы данных
Пример: php_value mysql.default_password Hry5Gw2
display_errors Разрешает вывод ошибок и предупреждений в браузер.
Пример: php_flag display_errors 0
display_startup_errors Включает отображение ошибок, возникающих при запуске PHP.
Пример: php_flag display_startup_errors 0
error_reporting Определяет типы (уровни важности) фиксируемых ошибок.
Пример: php_value error_reporting «E_ALL & ~E_NOTICE»
auto_prepend_file Определение файла, который будет выводится в начале каждого php-скрипта. Путь указывается от корня файловой системы сервера.
Пример: php_value auto_prepend_file /www/server/prepend.php
auto_append_file Определение файла, который будет выводится в конце каждого php-скрипта.
Пример: php_value auto_append_file /www/server/append.php
sendmail_from Устанавливает e-mail отправителя, который применяется при отправке почтовых сообщений с помощью PHP.
Пример: php_value sendmail_from root@beget.ru
user_agent Устанавливает строку User-agent, которая используется PHP при обращении к удаленным серверам.
Пример: php_value user_agent «Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)»

Шаблон:PHP