Логирование ошибок PHP на хостинге reg.ru
Недавно начал переносить свои проекты с sweb.ru, хостинга, которым пользовался много лет, но который начал портиться в последнее время. Большинство проектов переношу на reg.ru, который мне больше нравится, как по ограничениям в нагрузке, так и по техническим ограничениям, накладываемым на сервер и php.
Перенеся несколько проектов решил проверить, как отрабатывает php и каким образом регистрируются его ошибки (стараюсь следить за логами ошибок, иногда в них что-нибудь да вылезает). Однако на reg.ru привычный для меня error_log отсутствовал, что побудило разобраться с этим неудобством.
В ходе изучения панели (я предпочитаю cPanel) было найден только Журнал ошибок, куда логировались ошибки сервера, но никак не php. Использование справки хостинга так же не дало результатов. В итоге было найдено следующее решение, которое потом было подтверждено поддержкой хостинга.
Итак, решение логирования ошибок php на reg.ru делается через внесение изменений в php.ini, который находится в папке php-bin и доступен для редактирования. В данный файл надо добавить следующие инструкции:
display_startup_errors off
display_errors off
html_errors off
log_errors = on
error_log = "/путь к файлу/php_error.log"
Тут необходимо учитывать несколько моментов. Во-первых, использование инструкций display_startup_errors off, display_errors off, html_errors off не гарантируют вам полный запрет вывода ошибок, так как данные инструкции могут быть переопределены непосредственно в php скрипте. Во-вторых, данное решение не предполагает ротирование логов, поэтому если в них сыпется много ошибок, то надо следить за их размерами. В-третьих, если вы держите файл с ошибками в доступном для доступа извне месте (например, корне сайта), то желательно запретить обращение к данному файлу в .htaccess.
<Files php_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>
В ближайшее время поищу более элегантное решение, но пока и этого достаточно :)
Комментарии (0)