2.8.13. Вывод и логирование ошибок PHP

Ошибки PHP можно выводить непосредственно на сайте или фиксировать их в лог для дальнейшего анализа.

В зависимости от внутреннего устройства сайта и типа возникшей проблемы, вывод или логирование ошибок PHP не всегда может помочь выявить причины проблем на сайте. В ряде случаев более полезным может оказаться включение режима отладки средствами самого сайта (как, например, в WordPress, Joomla!, PrestaShop) или ручное добавление разработчиком или профильным специалистом в его код отладочных директив, позволяющих отследить, на каком этапе и по какой причине возникает ошибка.

За типы выводимых ошибок отвечает параметр PHP error_reporting.

  1. Откройте раздел «Настройки PHP».
  2. В поле «error_reporting» выберите нужные типы ошибок и сохраните изменения:
  3. Подождите примерно 10-15 минут, пока изменения вступят в силу.

Логирование ошибок PHP может выполняться разными способами — как средствами хостинга с просмотром в панели управления, так и на уровне скриптов сайта с сохранением в файл.

Максимальный размер лога — 100 МБ

Как только размер лога становится больше 100 МБ, логирование автоматически отключается. Для его возобновления нужно очистить лог и заново включить логирование.
  1. Включите вывод ошибок PHP нужного типа (можно выбрать все).
  2. В разделе «Настройки PHP» включите «Включение error_log» и сохраните изменения:
  3. Подождите примерно 10-15 минут, пока изменения вступят в силу.
  4. Воспроизведите ошибку на сайте.
  5. Проверьте наличие записей об ошибках в логе ошибок PHP.

Если нужно фиксировать ошибки PHP в отдельный файл, это можно сделать на уровне самих скриптов. Например, в начале самого первого запускаемого скрипта можно добавить такой код:

ini_set("log_errors", 1);
ini_set("error_log", "/путь/к/логу/php-error.log");

В результате, если в процессе работы этого скрипта возникнет ошибка PHP, она будет записана в лог по указанному пути.

Содержание