Ошибки сайта. Они бывают всех оттенков и являются страхом каждого владельца веб-сайта.

Что, если бы я сказал вам, что существует ошибка настолько хитрая, что она была названа в честь самой Смерти? Тогда бы ты испугался. Очень страшно 😱

Если немного приуменьшить драматизм, то «Белый экран смерти» (WSoD) — крайне раздражающая ошибка. Почему?

  • Это делает вашу страницу недоступной для посетителей.
  • Это может закрыть вас от вашего бэкэнда (например, области администрирования WordPress).
  • Это может произойти внезапно и без внесения вами каких-либо изменений самостоятельно.
  • Большинство служб «Мониторинг безотказной работы» не обязательно обнаружат ошибку.

Мягко говоря, это чертовски раздражает.

Но что такое «Белый экран смерти» и как он возникает?

Что такое белый экран смерти?

«Белый экран смерти» — это ошибка, из-за которой посетитель видит белый/пустой экран. Часто нет никакой информации об ошибке, только белый цвет, насколько может видеть глаз.

Это может произойти в результате ошибки PHP и базы данных. Следовательно, это также влияет на многие CMS, включая Magento и PrestaShop.

Но где ошибка наиболее распространена, вероятно, в самой популярной в мире CMS, WordPress, где она даже нашла место в официальной документации. Поэтому эта статья также будет основана на WordPress.

Наиболее распространенной причиной ошибки WSoD является неисправный плагин или тема. Другими причинами могут быть:

  • Синтаксическая ошибка в коде — например, если вы сами вносили правки.
  • Ограничение памяти установлено на низкое значение в вашем файле wp-config.php, файле .htaccess или файле php.ini.
  • Неудачное автоматическое обновление WordPress — например, из-за тайм-аута сервера.
  • Проблемы с вашими Правами доступа к файлам.

Как это исправить?

Вы начинаете с выяснения причины ошибки. Это может показаться легче сказать, чем сделать, когда все, с чем вам нужно работать, — это пустой экран. Но не бойтесь.

WordPress имеет встроенный режим отладки, который делает ошибки видимыми на вашей странице.

Чтобы включить его, откройте ваш файл wp-config.php и найдите следующую строку:

define( 'WP_DEBUG', false);

Затем измените false на true, чтобы это выглядело так:

define( 'WP_DEBUG', true);

Сообщения об ошибках теперь будут отображаться на вашей странице.

💡 Совет: Если вы не очень любите возиться с файлами, то Плагин отладки WP делает то же самое (очевидно, вам нужно иметь возможность попасть в админку WordPress).

В подавляющем большинстве случаев это будет плагин, вызывающий ошибку. Вы сможете увидеть название плагина в сообщении об ошибке.

Если у вас есть доступ к административной панели WordPress, просто отключите плагин на странице «Установленные плагины».

Если вы не можете получить доступ к административной области, вы можете деактивировать плагин вручную с помощью FTP-программы или инструмента «Файловый менеджер» вашего веб-хостинга.

Перейдите в папку вашего плагина (wp-content -> plugins) и найдите плагин, который выдает ошибку. Затем переименуйте папку во что-нибудь другое, например, с «hello-dolly» на «hello-dolly-1». Теперь плагин будет отключен.

💡 Совет: Плагины также можно отключить через phpMyAdmin и WP-CLI — я считаю это решение самым простым.

Перезагрузите страницу и посмотрите, решена ли проблема.

Что можно сделать, чтобы вовремя обнаружить это?

Одна из самых неприятных особенностей ошибки WSoD заключается в том, что она может возникнуть внезапно, даже если вы ничего не меняете на своем веб-сайте.

Что еще хуже, если у вас включен традиционный «мониторинг времени безотказной работы», он не обязательно поймает ошибку.

Да, вы правильно прочитали. Большинство сервисов, в том числе Alertdesk, смотрят на HTTP-код состояния вашего сайта. Если на странице указан код состояния 2XX или 3XX, он интерпретируется как работающий, а коды состояния 4XX и 5XX интерпретируются как нерабочий.

Должен быть лучший способ! — можете подумать вы, опасаясь, что это прозвучит как классический американский рекламный ролик: да, есть.

Когда вы настраиваете проверку работоспособности в Alertdesk, у вас есть возможность установить определенные правила для этой проверки. Мы называем это Утверждениями.

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

Это супермощный инструмент, когда дело доходит до проверки ошибок WSoD.

Если текст не виден (чего не будет в случае ошибки WSoD), ваш чек будет помечен как «вниз». Затем вы немедленно получите уведомление по электронной почте, через Push, Slack или по выбранному вами каналу.

Как настроить Uptime-проверку с Assertions (проверка текста)

Начните с создания учетной записи на Alertdesk. Перейдите в раздел «Мониторинг», нажмите кнопку «Добавить проверку» и выберите «Проверка работоспособности». Введите свой URL-адрес и нажмите на переключатель Дополнительные настройки в правом углу.

Прокрутите вниз до раздела Утверждения и выберите "Основной текст" в разделе "Источник", Содержит в разделе "Сравнение", а затем вставьте фрагмент текста, который должен присутствовать на вашей странице в разделе «Цель» (с учетом регистра). Затем нажмите кнопку Добавить.

⚠️ ПРИМЕЧАНИЕ. Могут возникнуть проблемы со специальными символами (включая ÆØÅ), так как вместо этого они могут быть преобразованы в символы HTML, которые не будут совпадать. Поэтому используйте текст без специальных символов.

Затем нажмите кнопку Далее. Выберите, кого уведомить, а затем снова нажмите кнопку Далее. Дайте вашему чеку имя и убедитесь, что все выглядит нормально. Наконец, нажмите Сохранить проверку, и все готово.

Легкий гороховый лимонный сок 🍋

Теперь вы будете немедленно уведомлены, если на вашем веб-сайте появится ошибка «Белый экран смерти».