Как исправить проблемы с неработающим отладчиком в WordPress

Диагностика проблемы с отладчиком WordPress

Отладка в WordPress осуществляется через константы WP_DEBUG, WP_DEBUG_LOG и WP_DEBUG_DISPLAY в файле wp-config.php. Если включить отладчик, а ошибки не отображаются или не записываются в лог, это указывает на некорректную настройку или конфликт с серверными параметрами.

Проверяем текущее состояние отладчика:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false); // ошибки пишутся в файл, но не выводятся на экран

Для диагностики важно проверить, существует ли файл wp-content/debug.log и не заполнен ли он ошибками. Если файл отсутствует или пуст, значит лог не записывается.

Пошаговое решение проблемы с неработающим отладчиком

1. Правильная настройка wp-config.php

Убедитесь, что все константы определены правильно и до строки /* That's all, stop editing! */:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

Наличие @ini_set('display_errors', 0); гарантирует, что ошибки не выводятся на экран, если это нежелательно, но логируются.

2. Проверка прав на папку wp-content

Файлы логов создаются в папке wp-content. Серверу должна быть предоставлена возможность записи в эту папку. Проверить и исправить права можно через SSH:

cd /path/to/wordpress/wp-content
chmod 755 .
chmod 644 debug.log

Если файла debug.log нет, попробуйте создать пустой файл и установить права 644.

3. Отключение конфликтующих плагинов и тем

Плагины кеширования или безопасности иногда блокируют запись логов или вывод ошибок. Временно отключите плагины кеширования (например, WP Super Cache, W3 Total Cache) и активируйте стандартную тему (например, Twenty Twenty-Three).

4. Настройка PHP error_log

Проверьте настройки PHP, которые могут влиять на логирование ошибок. В php.ini должны быть такие параметры:

error_reporting = E_ALL
log_errors = On
error_log = /path/to/php-error.log

Если PHP error_log не настроен или указывает в недоступное место, WordPress не сможет записать ошибки.

Проверка результата после внедрения

Чтобы проверить, работает ли отладчик, создайте намеренно ошибочный код, например, добавьте в functions.php темы:

function test_debug() {
    undefined_function_call(); // вызов несуществующей функции
}
add_action('wp_footer', 'test_debug');

После загрузки любой страницы сайта файл wp-content/debug.log должен содержать запись об ошибке.

Если WP_DEBUG_DISPLAY установлено в true, ошибка покажется на странице. Если false — в логе.

Частые ошибки и как их исправить

  • Ошибка: Отсутствует файл debug.log и ошибки не записываются.
    Решение: Создайте файл вручную с правами 644, убедитесь, что папка wp-content доступна на запись.
  • Ошибка: Ошибки не выводятся и не пишутся, хотя WP_DEBUG включен.
    Решение: Проверьте, что константы определены до строки /* That's all, stop editing! */ и нет конфликтующих настроек PHP.
  • Ошибка: Плагины кеширования скрывают ошибки.
    Решение: Отключите кеш-плагины и проверьте вывод снова.
  • Ошибка: Не работает @ini_set('display_errors', 0); из-за ограничений хостинга.
    Решение: Свяжитесь с поддержкой хостера или настройте error_reporting через php.ini или .user.ini.

Практические советы по безопасности и производительности

  • Не включайте WP_DEBUG_DISPLAY на живом сайте — это раскрывает внутренние ошибки пользователям.
  • Регулярно очищайте debug.log, чтобы избежать переполнения диска.
  • Для длительной отладки используйте отдельный файл лога, не выводя ошибки на экран.
  • В продакшене лучше отключить WP_DEBUG, чтобы не замедлять сайт лишними операциями.

Сравнение способов отладки в WordPress

МетодПлюсыМинусыКогда использовать
WP_DEBUG + WP_DEBUG_LOGУдобно для записи ошибок в файл, не мешает пользователямНужно контролировать размер логаОтладка на тестовом и продакшн сайтах
WP_DEBUG_DISPLAY = trueОшибки видны сразу на страницеРаскрывает ошибки посетителям, небезопасноЛокальная разработка
Плагины для отладки (Query Monitor)Дает расширенную информацию и удобный интерфейсМожет замедлять сайт, не всегда совместим с кешемРазработка и тестирование

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как удалить отзывы в WordPress через AJAX без рисков
18.02.2026
Как удалить или изменить метод оплаты в WooCommerce без рисков
15.06.2026
Как удалить вариации WooCommerce по условию быстро и без риска
28.04.2026
Как удалить неиспользуемые виджеты в WooCommerce без риска для сайта
12.07.2026
Как удалить пустые и повторяющиеся метаданные в WooCommerce без риска
05.07.2026
×
-15%
на премиум плагин
Clearfy

Защитите сайт!

Включить Clearfy »