Бывает, сайт перестаёт работать, а причины не видно. Debug-режим WordPress на VPS поможет найти сбой и исправить его без вреда для посетителей, но использовать его порой рискованно. В материале показали простой и безопасный способ включения и использования.
Введение
Представьте: вы обновили плагин или внесли изменения в код темы WordPress, и вдруг сайт перестал работать. Вместо привычной страницы вы видите лишь белый экран или общее сообщение об ошибке без каких-либо подробностей. В такой момент важно как можно скорее понять, что пошло не так. И тут на помощь приходит debug-режим WordPress.
В статье рассказали, как правильно включить debug-режим WordPress на продакшен-сайте и использовать его без лишнего риска.
Debug в WordPress — что это и когда пригодится
WordPress написан на PHP, а debug-режим — это особая настройка, которая включает подробный показ всех ошибок, предупреждений и уведомлений этого языка. Если сказать проще, система начнёт разговаривать с вами и выдавать даже мелкие недочёты в коде, которые обычно остаются за кадром. По умолчанию эта функция выключена, чтобы пользователи на рабочем сайте не натыкались на внутренние сообщения об ошибках.
Во время разработки сайта отладка крайне полезна. Она позволяет сразу заметить и исправить ошибки в коде. Например, вы внесли правку в файл functions.php темы, после чего ваш сайт стал встречать посетителей белым экраном. Без отладки непонятно, что случилось, а с включённым debug-режимом WordPress вместо пустой страницы покажет сообщение о конкретной ошибке, указав, в каком файле и на какой строке возникла проблема. Зная это, вы или разработчик сможете быстро найти и исправить сбойный участок кода.
На продакшен-сайте постоянно держать debug-режим включённым не рекомендуется. Подробные сообщения об ошибках могут раскрыть конфиденциальную информацию о вашем проекте и напугать обычных посетителей. Большое количество отладочных предупреждений может замедлять работу и ломать внешний вид страниц. Поэтому в повседневной работе сайта режим отладки отключён и включается только временно для диагностики проблемы.
Включение debug-режима на рабочем сайтe
Прежде всего выполните резервное копирование (бекап) текущего сайта. Это обязательная подстраховка, ведь вы собираетесь вносить изменения в конфигурацию, и копия поможет вернуть всё обратно, если что-то пойдёт не так.
Откройте корневую папку своего сайта WordPress — там, где лежит папка wp-content. Найдите в ней файл wp-config.php и запустите его на редактирование через файловый менеджер хостинга или по FTP. Внутри файла отыщите строку с параметром WP_DEBUG. Обычно она выглядит так:
define('WP_DEBUG', false);
Если такой строки нет, добавьте её вручную перед строкой
/* That's all, stop editing! Happy blogging. */
Чтобы включить debug-режим, замените false на true:
define('WP_DEBUG', true);
Сохраните изменения. С этого момента WordPress начнёт работать в режиме отладки и будет регистрировать все возникающие ошибки.
Включить WP_DEBUG — это только первый шаг. Если оставить всё как есть, WordPress начнёт выводить служебные сообщения прямо на страницах сайта, а в продакшене этого допускать нельзя. Гораздо безопаснее настроить запись ошибок в лог, чтобы видеть их только вам. Для этого в файле wp-config.php сразу под строкой с WP_DEBUG пропишите такие директивы:
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
Ошибки теперь будут сохраняться в файл wp-content/debug.log, а не появляться перед глазами у посетителей. Команда ini_set дополнительно глушит их показ на уровне PHP, чтобы ничего лишнего не просочилось. Следите, чтобы значения true и false были написаны без кавычек — это не текст, а логические константы. Поставите кавычки, и отладка тихо умрёт, даже не начав работать. Когда всё пропишете, ещё раз сохраните wp-config.php.
После настройки повторите действие, из-за которого возникла ошибка, чтобы она снова проявилась. Сайт с включённым debug-режимом не покажет её посетителям, но запишет все детали в лог. Чтобы их просмотреть, откройте на сервере файл wp-content/debug.log. Его можно скачать через файловый менеджер хостинга или по FTP, а затем открыть в любом текстовом редакторе.
В файле debug.log вы найдёте список записей обо всех PHP-проблемах, которые возникали на сайте. Каждая запись содержит дату и время, тип ошибки, путь к файлу и номер строки, где случился сбой, и описание проблемы. Найдите последние ошибки в списке, скорее всего, именно они относятся к недавнему сбою. Например, вы можете обнаружить там Fatal error или Warning, указывающий на конкретный плагин или файл темы. Теперь понятно, что именно вызвало неполадку, и вы можете приступать к её устранению.
Когда ошибка найдена и исправлена, обязательно отключите режим отладки. Для этого снова откройте wp-config.php и верните параметр WP_DEBUG в значение false. Если вы добавляли WP_DEBUG_LOG и WP_DEBUG_DISPLAY, их тоже стоит отключить — присвойте false или удалите строки. После сохранения файла проверьте, что сайт работает нормально, ошибки больше не записываются, а служебные сообщения не появляются на страницах.
Не забудьте позаботиться о самом файле лога. В debug.log могут содержаться чувствительные данные о вашем сайте, поэтому не стоит оставлять этот файл на сервере надолго. Скачайте и сохраните его, если нужен, либо удалите из директории wp-content. При отключённом WP_DEBUG этот лог больше не пополняется. Вообще, отладочный режим никогда не оставляют включённым постоянно. Помимо рисков безопасности он создаёт дополнительную нагрузку на сервер. Включайте его лишь на время диагностики, а устранив неисправность, сразу возвращайте сайт в штатный режим.
Альтернативные способы отладки WordPress
Не каждому владельцу сайта удобно редактировать файлы вручную. Если вы опасаетесь вносить изменения в wp-config.php самостоятельно, можно воспользоваться специальным плагином для включения отладки. Например, бесплатный плагин WP Debugging добавляет необходимые настройки автоматически.
После установки и активации этого плагина перейдите в консоль WordPress, раздел Tools → WP Debugging и нажмите кнопку активации debug-режима. Плагин сам пропишет нужные константы в wp-config.php и сайт перейдёт в режим отладки. После завершения диагностики не забудьте деактивировать debug-режим через плагин или отключить сам плагин.
Для более глубокой диагностики существует расширение Query Monitor. Это мощный плагин для разработчиков, который показывает подробную информацию об исполнении кода прямо в админ-панели. Query Monitor отображает все SQL-запросы к базе данных, любые возникшие ошибки и предупреждения PHP, выполненные крон-задачи, список загруженных скриптов и стилей, использование памяти и многое другое. Причём эти сведения видите только вы, как администратор, а обычные посетители сайта их не увидят. Такой инструмент можно смело держать активным даже на продакшене какое-то время. Учтите, что для отображения некоторых данных Query Monitor всё равно требует включения определённых констант отладки, но плагин подскажет об этом при необходимости.
Также вы можете временно включить debug-режим через URL. С помощью дополнительного кода в wp-config.php можно сделать так, что отладка будет активироваться только при переходе на сайт с особым параметром. Например, можно задать секретный ключ и включать режим отладки, открывая адрес https://ваш-сайт/?debug=ВАШ_КЛЮЧ. При таком обращении WordPress включит WP_DEBUG и, например, запись лога только для вас, сохранив настройки в cookie. После завершения сеанса отладки или после удаления параметра из URL режим автоматически отключится. Подобный механизм придётся добавить вручную, для этого существуют готовые сниппеты кода от энтузиастов, и применять его стоит осторожно. Однако для постоянной практики начинающему администратору достаточно и стандартного включения debug-режима с просмотром лога, как описано выше.
Заключение
Debug-режим WordPress — сильный союзник в поиске и устранении ошибок. Если использовать его грамотно, даже неполадки на продакшене перестанут быть пугающей загадкой. Вы всегда сможете на время включить отладку, узнать причины любых сбоев и вернуть сайту нормальную работу. Только не забывайте вовремя отключать режим отладки и следить за безопасностью сайта. Со временем вы почувствуете себя гораздо увереннее, ведь будете точно знать, как найти и исправить практически любую проблему на вашем WordPress-сайте.
Читайте в блоге:
- Настройка автоматического удаления старых логов с logrotate на Ubuntu 24.04
- Настройка аутентификации SSH по аппаратному токену на Ubuntu 24.04
- Установка и настройка Node.js на Ubuntu 24.04: пошагово для начинающих