Поиск журналов ошибок PHP

Журналы ошибок PHP помогают при диагностике проблем на сайтах WordPress и WooCommerce. В этом руководстве вы узнаете, как получить доступ к этим журналам — как внутри WooCommerce, так и на сервере хостинга.

Журналы WooCommerce

В WooCommerce есть встроенная система логирования, доступная в админке по пути WooCommerce > Статус > Журналы. В ней фиксируются, в том числе, фатальные ошибки PHP.

Этот журнал — хороший первый источник информации. В нём часто содержатся те же данные, что и в логах PHP на сервере. Рекомендуется сначала проверить его, прежде чем искать логи непосредственно на сервере.

Просмотр файлов журналов

Чтобы открыть журналы:

  1. В админке WordPress перейдите в WooCommerce > Статус > Журналы.
  2. В разделе Просмотр файлов журналов вы увидите список доступных логов.
Просмотр файлов журналов WooCommerce
Просмотр файлов журналов

Здесь можно фильтровать, сортировать и управлять логами. Также доступны массовые действия — например, можно скачать или удалить сразу несколько файлов, выбрав их и используя выпадающее меню действий.

Массовое скачивание логов
Массовое скачивание логов

Поиск по логам

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

Поиск внутри логов
Поиск внутри логов

Просмотр одного файла

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

В верхней части экрана доступны кнопки для скачивания или удаления файла журнала.

Просмотр одного файла журнала
Просмотр одного файла журнала

Настройки

Настройки логирования находятся в WooCommerce > Статус > Журналы > Настройки. Доступны следующие параметры:

  1. Журналирование — включает или отключает запись логов.
  2. Хранилище журналов — определяет, где сохраняются логи. По умолчанию используется Файловая система. Также можно выбрать База данных, но это не рекомендуется для рабочих сайтов. При смене настройки старые логи не переносятся.
  3. Срок хранения — задаёт, сколько дней хранятся записи перед автоматическим удалением. По умолчанию — 30 дней.
  4. Минимальный уровень — определяет минимальный уровень важности записей. Более низкие уровни не сохраняются. По умолчанию — Нет (сохраняются все записи). Возможные значения:
    • Авария
    • Критическая ошибка
    • Отладка
    • Критическая
    • Ошибка
    • Предупреждение
    • Уведомление
    • Нет
    • Информация
  5. Настройки файловой системы — путь на сервере, где хранятся логи (например, /srv/htdocs/wp-content/uploads/wc-logs/). Можно изменить путь, задав константу WC_LOG_DIR в файле wp-config.php.
Настройки журналов WooCommerce
Настройки журналов WooCommerce

Фатальные ошибки

Чтобы посмотреть фатальные ошибки:

  1. Перейдите в WooCommerce > Статус > Журналы.
  2. В разделе Просмотр файлов журналов выберите файл с именем fatal-errors.

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

Фатальные ошибки возникают, когда выполнение кода невозможно завершить. Например:

  • Вызов несуществующей функции
  • Использование неопределённой переменной
  • Вызов функции у переменной со значением null или некорректного типа

Сюда не входят ошибки веб-сервера, например таймауты.

В журнале содержится:

  • Время возникновения ошибки
  • Описание ошибки
  • Файл и строка, где произошла ошибка
  • Стек вызовов — последовательность функций и файлов, приведших к ошибке

Журналы ошибок PHP на сервере

Логи PHP можно найти в разных местах на сервере:

  • В корневой папке сервера — файл error.log
  • В папке public_html (или аналогичной) — файл error.log
  • В папке var/logs или похожей — файл error.log
  • Если включён режим отладки WordPress и ведётся запись в файл — лог будет в папке wp-content с именем debug.log

Если не удаётся найти файл, можно определить его путь через PHP:

  1. Создайте файл phpinfo.php в корне сайта
  2. Откройте его в редакторе
  3. Добавьте код: <?php phpinfo(); ?>
  4. Откройте файл в браузере, например: https://example.com/phpinfo.php
  5. Найдите параметр error_log — там будет указан путь к файлу логов. Если значение пустое, логирование не настроено
  6. Ниже показан пример:
Пример вывода phpinfo
Пример вывода phpinfo

Поделиться с друзьями
Документация WooCommerce