489 слов | 3 минуты
Белый экран сайта — причины и способы решения
Открываете сайт — а там пустая белая страница. Ни текста, ни ошибки, ни объяснений. Это явление называют «белым экраном смерти» (White Screen of Death, WSoD). Разберём почему это происходит и как это исправить.
Почему появляется белый экран
Белый экран — это PHP-ошибка которую сайт «проглатывает» вместо того чтобы показать. Сервер обрабатывает запрос, натыкается на критическую ошибку, но отображение ошибок отключено (как и должно быть на рабочем сайте), поэтому пользователь видит пустую страницу.
Самые частые причины:
- Ошибка в коде — синтаксическая ошибка в PHP-файле после обновления или редактирования
- Исчерпан лимит памяти PHP — скрипт запросил больше памяти чем разрешено
- Конфликт плагинов или тем — два компонента несовместимы друг с другом
- Повреждённый файл ядра CMS — после неудачного обновления или заражения
- Рекурсия или бесконечный цикл — скрипт зациклился и исчерпал ресурсы
Диагностика
Первый шаг: проверьте логи
Логи ошибок PHP — это первое место куда нужно смотреть. Они покажут точную причину:
- cPanel → Error Log
- ISPmanager → Журналы → PHP
- На сервере:
/var/log/php_errors.logили посмотрите путь вphp.ini
Ищите строки с Fatal error или Parse error — они укажут на конкретный файл и строку.
Второй шаг: включите отображение ошибок
Временно, только для диагностики. Добавьте в начало index.php:
ini_set('display_errors', 1);
error_reporting(E_ALL);
Или через .htaccess:
php_flag display_errors on
php_value error_reporting 32767
После диагностики обязательно уберите.
Третий шаг: проверьте только ли главная страница или весь сайт
Откройте несколько разных страниц сайта. Если белый экран только на главной — проблема в конкретном шаблоне или компоненте. Если везде — проблема глобальная (конфиг, ядро, память).
Решения по ситуации
После установки плагина или темы
Самый частый случай. Новый компонент конфликтует с существующими.
WordPress: переименуйте папку плагина через FTP — это деактивирует его без доступа к админке:
/wp-content/plugins/имя-плагина/ → /wp-content/plugins/имя-плагина_OLD/
Битрикс: отключите последний установленный модуль через базу данных или восстановите из бэкапа.
Ошибка памяти PHP
В логах будет: Allowed memory size of X bytes exhausted
Увеличьте лимит в .htaccess:
php_value memory_limit 256M
Или в wp-config.php для WordPress:
define('WP_MEMORY_LIMIT', '256M');
Ошибка синтаксиса в файле
В логах будет: Parse error: syntax error, unexpected...
Лог покажет имя файла и номер строки. Откройте файл через FTP, найдите строку и исправьте ошибку. Если не понимаете что именно сломано — замените файл на оригинальный из официального дистрибутива CMS.
Конфликт плагинов (WordPress)
Отключите все плагины разом — переименуйте папку:
/wp-content/plugins/ → /wp-content/plugins_OLD/
Если сайт заработал — включайте плагины по одному, пока снова не появится белый экран. Нашли виновника — ищите обновление или замену.
Повреждённые файлы ядра
Замените файлы ядра на оригинальные. Скачайте такую же версию CMS с официального сайта и скопируйте системные файлы (не трогайте папки с пользовательским контентом — wp-content, uploads, local).
Белый экран в конкретных CMS
WordPress
Дополнительно проверьте:
- Файл
wp-config.php— не должен содержать синтаксических ошибок - Активную тему — переключите на стандартную через базу данных
- Базу данных — откройте phpMyAdmin и проверьте таблицу
wp_options, полеactive_plugins
Переключить тему через SQL:
UPDATE wp_options SET option_value = 'twentytwentyfour'
WHERE option_name = 'template' OR option_name = 'stylesheet';
1С-Битрикс
- Проверьте
/bitrix/php_interface/dbconn.php— настройки подключения к базе данных - Откройте
/bitrix/modules/main/include/prolog_before.php— частое место ошибок - Посмотрите лог Битрикс:
/bitrix/modules/main/lib/или раздел «Журнал событий» в админке
Laravel
Смотрите лог: /storage/logs/laravel.log
Временно включите отладку в .env:
APP_DEBUG=true
После диагностики верните APP_DEBUG=false.
Если ничего не помогло
- Восстановите из резервной копии — если есть бэкап до появления белого экрана
- Обратитесь к хостингу — они могут видеть ошибки на уровне сервера которые недоступны вам
- Откатите последнее обновление — если помните что именно изменили перед появлением проблемы
Если нужна помощь в диагностике — обратитесь к нам. Найдём причину по логам и восстановим работу сайта.