Вопрос или проблема
Извините, если это базовый вопрос, но я совсем не эксперт по WP.
Использую WordPress версии 6.0.9
У меня есть блог, размещенный на сервере кого-то другого (где я размещаю другие сайты, которые разрабатываю, не используя WP), и он указал мне, что там был файл debug.log
размером 4 ГБ.
Насколько я понимаю, включать отладку на работающем сайте не очень хорошая идея, и, конечно, я не хочу иметь огромный файл лога.
Поэтому я изменил файл wp-config.php
. До этого он выглядел так (игнорируя части, не связанные с отладкой)…
define( 'WP_DEBUG', true );
// Включить запись отладки в файл /wp-content/debug.log
define( 'WP_DEBUG_LOG', true );
// Отключить отображение ошибок и предупреждений
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Я изменил true
на false
для WP_DEBUG
и WP_DEBUG_LOG
, но когда я попытался зайти на блог, получил “500 – Внутренняя ошибка сервера“
Я попробовал все комбинации true
и false
для обеих настроек, но единственная, которая позволила сайту работать, это обе true
, чего я не хочу.
Я посмотрел в файл debug.log
, чтобы увидеть, не подскажет ли он что-то, но всё, что я увидел, это множество строк в таком виде…
PHP Deprecated: создание динамического свойства WP_Term::$term_order устарело в C:<PATH_TO_SITE>\wwwroot\wp-includes\class-wp-term.php на строке 198
Я сделал список уникальных записей в файле на случай, если это поможет.
У кого-нибудь есть идея, как отключить отладку, не выключая блог?
Ответ или решение
Вы столкнулись с проблемой выключения режима отладки в WordPress, что приводит к ошибке 500 – открою внутреннюю причину этой проблемы, предлагая ряд практических решений. Используя подход FOREST, давайте рассмотрим возможность исправления ситуации без отключения вашего блога.
Факты о вашей проблеме
Вы используете WordPress версии 6.0.9 на сервере, который, возможно, не адаптирован под оптимальную работу с WP. У вас включена отладка, что приводит к созданию большого файла debug.log
. При попытке отключить отладку сайт сталкивается с внутренней ошибкой сервера 500.
Решение проблемы
-
Индексация ошибок:
- Отладка и журналирование ошибок могут быть жизненно важны для разработки, но их не стоит использовать на рабочем сайте из-за потенциальных рисков, таких как утечка конфиденциальной информации. Вам необходимо сначала понять, что вызывает 500 ошибку при выключении отладки.
-
Анализ кода в вашем проекте:
- Ошибка 500 может быть связана с критическими сбоем в коде, которые игнорируются, когда отладка включена. Опираясь на уникальные записи из файла
debug.log
, необходимо исправить устаревшие функции, такие как «Creation of dynamic property WP_Term::$term_order».
- Ошибка 500 может быть связана с критическими сбоем в коде, которые игнорируются, когда отладка включена. Опираясь на уникальные записи из файла
-
Использование резервной копии:
- Предполагается, что у вас есть резервные копии вашего сайта. Пожалуйста, сделайте их перед внесением изменений. Это жизненно важно на случай возникновения критических ошибок, которые потребуют восстановления сайта.
-
Проверка файла .htaccess:
- Проверьте настройки сервера в файле
.htaccess
. Иногда неправильные конфигурации могут вызвать 500 ошибки. Вернитесь к стандартному файлу, если возможно, чтобы исключить это как потенциальную причину.
- Проверьте настройки сервера в файле
-
Обновите плагины и темы:
- Устаревшие плагины и темы могут не поддерживать последний стандарт PHP, что может быть причиной возникновения ошибок. Обновите все установленные плагины и темы до последних версий.
-
Проверка версии PHP:
- Убедитесь, что версия PHP на сервере совместима с использованием вашего WordPress сайта. Рекомендуется использовать PHP 7.4 или выше для увеличения производительности и безопасности.
-
Журнал ошибок сервера:
- Проверьте журналы ошибок сервера, чтобы выяснить более специфические ошибки, не отображенные в файле
debug.log
.
- Проверьте журналы ошибок сервера, чтобы выяснить более специфические ошибки, не отображенные в файле
Внедрение изменений
После выполнения вышеупомянутых шагов, измените wp-config.php
обратно на:
define( 'WP_DEBUG', false );
define( 'WP_DEBUG_LOG', false );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Перезагрузите ваш сервер или веб-сервис, чтобы изменения вступили в силу.
Заключение
Следуя указанным направлениям, вы сможете отключить отладку без отключения вашего блога в WordPress. Подход FOREST позволил создать структурированное, информативное руководство, которое с минимальными усилиями решает специфическую проблему. Если проблема сохранится, возможно, стоит рассмотреть возможность получения профессиональной помощи от разработчиков WordPress.
Надеюсь, эта информация будет полезной для вас и поможет достичь необходимых улучшений в управлении вашим сайтом.