Директивы для конфигурирования PHP можно размещать не только в файле php.ini, но также и в конфигурационных файлах Apache для вашего сайта – .htaccess. Это позволяет проводить тонкую настройку php для разных директорий.
Для работы с PHP в конфигурационных файлах Apache доступны 4 директивы: php_value, php_flag, php_admin_value,php_admin_flag, которые отличаются значимостью, типом устанавливаемых значений и местом применения.
Директивы php_admin_value, php_admin_flag выставляются только в файле httpd.conf, так что нам они не интересны. По сути, данные директивы переопределяют значение остальных директив.
Директива php_flag служит для установки логических значений директив в php.ini. В то время как директива php_valueслужит для установки строковых и числовых значений директив php.ini, т.е. любых типов значений, за исключением логических.
Синтаксис директив очень прост:
php_flag имя директивы on | off
php_value имя директивы VALUE
Приведем перечень наиболее часто используемых директив
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 в .htaccess нужно прописать следующие строки:
php_flag display_errors 1
php_flag display_startup_errors 1
php_value error_reporting “E_ALL & ~E_NOTICE”
Для запрещения выполнения php в текущей директории и во всех вложенных необходимо в .htaccess прописать следующие строки:
php_flag engine off