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.

Если ничего не помогло

  1. Восстановите из резервной копии — если есть бэкап до появления белого экрана
  2. Обратитесь к хостингу — они могут видеть ошибки на уровне сервера которые недоступны вам
  3. Откатите последнее обновление — если помните что именно изменили перед появлением проблемы

Если нужна помощь в диагностике — обратитесь к нам. Найдём причину по логам и восстановим работу сайта.