Ошибки сайта. Они бывают всех оттенков и являются страхом каждого владельца веб-сайта.
Что, если бы я сказал вам, что существует ошибка настолько хитрая, что она была названа в честь самой Смерти? Тогда бы ты испугался. Очень страшно 😱
Если немного приуменьшить драматизм, то «Белый экран смерти» (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, которые не будут совпадать. Поэтому используйте текст без специальных символов.
Затем нажмите кнопку Далее. Выберите, кого уведомить, а затем снова нажмите кнопку Далее. Дайте вашему чеку имя и убедитесь, что все выглядит нормально. Наконец, нажмите Сохранить проверку, и все готово.
Легкий гороховый лимонный сок 🍋
Теперь вы будете немедленно уведомлены, если на вашем веб-сайте появится ошибка «Белый экран смерти».