Директивы для конфигурирования 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 |