Как исправить ошибку белого экрана смерти WordPress (WSoD)
Опубликовано: 2023-01-10Загрузка вашего сайта WordPress только для того, чтобы вас приветствовала пустая белая страница, разочаровывает. Это обычно называют ошибкой белого экрана смерти WordPress .
В этом руководстве мы расскажем вам, как разобраться в том, что конкретно вызывает ошибку на вашем сайте, и как именно ее исправить:
- Почему я вижу белый экран смерти в WordPress?
- Шаг № 1. Начните с очистки кеша вашего сайта
- Шаг № 2. Проверьте журналы ошибок PHP
- Шаг № 3. Выявление ошибок в режиме отладки
- Шаг № 4 — Увеличьте лимит памяти WordPress и PHP
- Шаг № 5 — Вспомните последние изменения, которые вы сделали
- Шаг № 6 — Отключение плагинов
- Шаг № 7 — Восстановить резервную копию сайта
- Вариант отладки: проверьте наличие потенциальных проблем с вашей темой
Почему я вижу белый экран смерти в WordPress?
Столкновение с ошибкой белого экрана смерти WordPress особенно неприятно, потому что, как следует из названия, все, что вы видите, это белый экран. Нет информации, в чем может быть причина и где искать.
Прежде чем мы перейдем к тому, как определить причину ошибки на вашем сайте и восстановить работоспособность, вот разбивка наиболее распространенных причин:
- Ошибки кода PHP (часто только что произошедшее обновление плагина)
- Исчерпание лимита памяти PHP
Примечание. Вы, скорее всего, столкнетесь с этими проблемами с некоторыми поставщиками хостинга WordPress, в зависимости от того, как они ограничивают ресурсы и блокируют сайты, если скрипт или процесс из плагина когда-либо внезапно требует больше ресурсов. Если вам кажется, что это происходит слишком легко с вашим хостинг-провайдером, возможно, пришло время подумать о переходе к лучшему хостинг-провайдеру WordPress, поскольку хосты, которые легко выходят из строя, также, скорее всего, переведут ваш сайт в автономный режим, если вы когда-либо запустите крупную маркетинговую кампанию. которые одновременно привлекают значительный объем трафика и т. д.
Итак, без лишних слов — давайте посмотрим, как исправить ошибку WSoD на вашем сайте:
Как исправить белый экран смерти WordPress
Шаг № 1. Начните с очистки кэша вашего сайта (включая плагины кэширования)
Если это производственный сайт, скорее всего, у вас есть кэширование, а если нет, то вам, вероятно, следует . Хотя это настоятельно рекомендуется, это может означать, что вы не сможете увидеть, что на самом деле происходит на вашем сайте, поскольку вы просматриваете версию, кэшированную в вашем браузере или на сервере.
Примечание. Сюда также входят любые дополнительные уровни кэширования, которые могут у вас быть. Например, плагины кэширования — обязательно очистите их в дополнение к кэшированию на уровне сервера.
После очистки кеша в WordPress вы также захотите очистить кеш браузера.
Если вы больше не можете получить доступ к своей области администрирования WordPress: можно очистить кеш с помощью WP-CLI. После подключения к вашему сайту через SSH — сначала перейдите в каталог вашего сайта — для сайтов на Servebolt (пример приведен в строке 1 ниже). После этого очистите кеш и при желании исключите активацию тем и плагинов при этом:
cd ~/public
wp cache flush --skip-plugins --skip-themes
После этого попробуйте снова получить доступ к своему сайту, чтобы проверить, сохраняется ли проблема.
Если это все еще не работает, читайте о других возможных решениях…
Шаг № 2. Проверьте журналы ошибок PHP
Примечание. Если вам неудобно читать файлы журналов, перейдите к шагу № 3.
Самый первый шаг после того, как вы исключили кэширование, — это проверка журналов ошибок PHP. Мы всегда рекомендуем по умолчанию проверять журналы, потому что это лучший способ узнать истинный источник ошибки, проблемы или потенциальной проблемы.
Узнайте больше о просмотре и проверке файлов журналов здесь.
Таким образом, прежде чем внедрять какие-либо потенциальные исправления в статье, вы поймете, почему (то есть, прежде чем просто проверить, решит ли проблему увеличение лимита памяти, имеет смысл узнать, какой плагин работает, для которого требуется более высокий лимит) .
Цель проверки журналов ошибок — указать вам правильное направление. Однако и фактическое использование того, что вы здесь обнаружите, конечно же, не менее важно! Это означает, что как ошибки, так и предупреждения являются первыми местами, на которые следует обратить внимание, работая над их устранением (если вас это не устраивает, мы рекомендуем вам работать с разработчиком).
Шаг № 3. Выявление ошибок в режиме отладки
Встроенный режим «отладки» в WordPress может помочь вам определить любые ошибки на сервере. Чтобы включить режим отладки в WordPress, откройте файл wp-config.php и перед последней строкой добавьте следующий код:
// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );
// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );
Примечание. Включение режима WP_DEBUG приведет к отображению всех ошибок, уведомлений и предупреждений PHP. Это может отображать ошибки и предупреждающие сообщения для вещей, которые не сломаны , но не соответствуют соглашениям о разработке WordPress (и/или PHP).
Теперь, когда вы открываете веб-сайт, вы можете увидеть ошибки или уведомления вместо белого экрана. Когда вы включаете отладку в WordPress, он также создает файл debug.log , который вы можете проверить на наличие ошибок.
Это файл журнала, который содержит информацию обо всех ошибках или предупреждениях. Вы можете найти его в каталоге wp-content . Проверьте файл журнала, чтобы определить причину проблемы и устранить ее.
Например, если проблема вызвана подключаемым модулем, ошибка будет зарегистрирована в файле отладки. Затем вы можете деактивировать этот конкретный плагин и сообщить о проблеме разработчикам.
Когда вы закончите, просто удалите код из файла wp-config.php , чтобы выйти из режима отладки. Это один из лучших способов выявления ошибок на веб-сайтах WordPress, но он не всегда улавливает все ошибки, возникающие на вашем сайте.
Убедитесь, что вы вышли из режима отладки. Многие пользователи случайно оставляют его включенным, что приводит к снижению производительности сайта и повышенному потреблению ресурсов.
Шаг № 4 — Увеличьте лимит памяти WordPress и PHP
Ограничение памяти, установленное на вашем сервере, также может быть причиной проблемы. Каждый плагин на вашем сайте запускает разные сценарии, потребляя память сервера для выполнения.
В дополнение к этому WordPress также накладывает ограничение на память, чтобы плагины не запускали неэффективные процессы, замедляющие работу вашего сайта. При этом, когда сценарию требуется больше памяти, чем разрешено, это может вызвать белый экран смерти.
Но прежде чем вы попытаетесь увеличить доступную память, вы можете просмотреть журналы, чтобы точно определить, что потребляет всю эту память. Никогда не рекомендуется увеличивать объем памяти вслепую, поэтому важно сначала внимательно просмотреть журналы.
Чтобы это исправить, вы можете увеличить объем памяти, доступной для разных плагинов. Войдите на свой сервер с помощью SFTP, затем найдите файл wp-config.php. В большинстве случаев, в том числе на Servebolt, он будет в вашей общей папке .
Откройте файл wp-config.php и добавьте следующую строку внизу:
define( 'WP_MEMORY_LIMIT', '64M' );
Это позволяет WordPress выделять до 64 МБ памяти для скриптов плагинов. В некоторых случаях это может решить проблему. Если это не помогает мгновенно, попробуйте увеличить значения, такие как 125, 256 и 512. Возможно, неэффективный код использует гораздо больше памяти, чем обычно, и поэтому он заработает, когда станет доступно больше.
Имейте в виду, что на Servebolt, если вы не определите ограничения, WordPress всегда будет использовать максимально доступную память. Поэтому вам следует выполнять этот шаг только в том случае, если вы ранее ограничивали доступную память.
Кроме того, в панели управления Servebolt вы также можете установить более высокий лимит памяти PHP. Просто перейдите в « Настройки сайта », где вы можете изменить лимит памяти PHP для вашего веб-сайта, как показано ниже.
Шаг № 5 — Вспомните последние изменения, которые вы сделали
Задумайтесь на мгновение о том, внесли ли вы изменение — установили и активировали плагин или изменили настройку. Белый экран смерти обычно возникает при падении PHP (т.е. не связанном с сервером).
Таким образом, это может означать, что вы недавно инициировали процесс в плагине, из-за которого это произошло (например, плагин оптимизации изображений, который имеет эффективный способ обработки больших медиабиблиотек и т. д.).
Вы можете рассмотреть возможность использования Git, так как это значительно упрощает отслеживание изменений и вызов предыдущих итераций. Git сохранит любые внесенные вами изменения, позволяя вам вспомнить их при необходимости.
Если вы можете определить, какое именно изменение вы внесли, это позволяет легко вернуться назад и принять к сведению, что включение этого параметра не работает (и не должно повторяться), пока разработчик плагина или темы не будет связались для решения вопроса.
Шаг № 6 — Отключение плагинов
Это немного более утомительный и менее предпочтительный метод, поэтому он такой низкий. Устранение неполадок с каждым плагином по отдельности — это хлопотно, но вы можете применять массовые действия, такие как деактивация всех установленных плагинов за один раз.
Если вы не можете получить доступ к панели инструментов, вам придется подключиться к вашему сайту с помощью SFTP-клиента, такого как FileZilla . Найдите папку wp-content, и вы увидите каталог с именем «plugins».
Переименуйте его в «plugins-deactivated» и сохраните изменения. WordPress больше не сможет найти папку для загрузки плагинов на вашем сайте. Поэтому он автоматически полностью деактивирует их. Это потому, что WordPress ищет папку с названием plugins если он не может найти эту папку, он автоматически считает все плагины деактивированными.
В этот момент вернитесь к выбранному вами FTP-клиенту и верните имя папки на plugins . Теперь вы сможете вернуться в свою административную область и начать активировать плагины один за другим, чтобы изолировать те, которые вызывают проблемы.
Шаг № 7 — Восстановите резервную копию сайта
Если кажется, что ничего не работает, вы можете рассмотреть возможность восстановления резервной копии вашего сайта. Очевидно, что лучше всего создать резервную копию ваших текущих файлов (даже если это может показаться неразумным) на случай, если с вашей резервной копией что-то пойдет не так.
Servebolt ежедневно выполняет резервное копирование всех файлов и баз данных для своих клиентов. Вы можете восстановить резервную копию своего сайта, просто связавшись с Servebolt через чат сайта. Команда восстановит вашу резервную копию без дополнительных затрат.
Резервные копии хранятся до 30 дней, при этом одна резервная копия в день сохраняется в течение последних 14 дней, а до этого — несколько еженедельных резервных копий.
Вариант отладки: проверьте наличие проблем с темой
Тема, которую вы используете на своем веб-сайте, также может в некоторых случаях привести к появлению белого экрана смерти. Это может конфликтовать с плагином или некоторые файлы могут быть повреждены во время обновления. Вы можете проверить наличие ошибок или заменить тему, чтобы проверить, устраняет ли это проблему. В крайнем случае хорошим временным решением может быть переключение на тему WordPress по умолчанию, пока вы продолжаете отлаживать.
Что делать, если я не могу получить доступ к панели администратора?
Если вы получаете «Белый экран смерти» при попытке доступа к панели администратора, изменение темы, очевидно, невозможно сделать таким же образом.
Вместо этого вы можете использовать SFTP для доступа к файлам сайта.
После того, как вы зайдете на сайт, просто:
- Найдите папку webroot, а затем перейдите в каталог wp-content.
- Оттуда найдите папку с именем «темы». Загляните внутрь, чтобы узнать название вашей активной темы.
- Затем просто добавьте суффикс «_old» после имени каталога темы и сохраните изменения. WordPress отключит тему (и если у вас установлена тема по умолчанию, переключитесь на эту тему по умолчанию).
- Попробуйте снова зайти на свой сайт.
Если у вас есть доступ по SSH, вы можете сменить тему на другую с помощью WP-CLI .
В этом примере она меняется на тему Twenty Twenty-Two.
wp theme activate twentytwentytwo --skip-plugins --skip-themes
Примечание. Эта команда пропускает инициализацию плагинов и тем при внесении этого изменения.
Если ваш сайт снова заработает, вы будете знать, что проблема вызвана вашей темой WordPress. В этот момент определенно пора сообщить об этом разработчику вашей темы, чтобы он мог поработать над исправлением — если тема все еще активно поддерживается. Если это не так, то обычно рекомендуется переключиться на другую тему WordPress.
Отчет о действиях — обратитесь в службу поддержки хостинга, чтобы принять превентивные меры
Хотя название ошибки определенно делает ее более серьезной, резервное копирование и запуск вашего веб-сайта WordPress, когда все, что вы видите, это белый экран, обычно является простой ошибкой для исправления. Если вы все еще пытаетесь разобраться в этом, следующим шагом будет обращение в службу поддержки вашего хостинг -провайдера WordPress — и если вы приняли мудрое решение разместить свой сайт у нас, просто войдите в свою учетную запись Servebolt и пообщайтесь с нас, чтобы мы могли помочь вам разобраться в этом вместе.
Еще не используете Servebolt, но заинтересованы в управляемом хостинге, который эмпирически быстрее?
Попробуйте WordPress на Servebolt сегодня:
- Масштабируемость: в реальных тестах рабочей нагрузки Servebolt продемонстрировал среднее время отклика 65 мс, что в 4,9 раза быстрее, чем второе место.
- Самое быстрое время загрузки в мире: среднее время загрузки страницы во всем мире составляет 1,26 секунды, что ставит Servebolt на первое место в списке глобальных результатов WebPageTest .
- Самая высокая скорость вычислений: серверы Servebolt обеспечивают беспрецедентную скорость базы данных, обрабатывая в 2,44 раза больше запросов в секунду, чем в среднем, и запуская PHP в 2,6 раза быстрее, чем второй лучший сервер!
- Идеальная безопасность и время безотказной работы: благодаря 100% времени безотказной работы на всех мониторах и рейтингу A+ за нашу реализацию SSL вы можете быть уверены, что ваш сайт в сети и в безопасности.
Все это поддерживается нашей командой экспертов и готово принять участие в бесплатном тестировании Bolt уже сегодня .