После автоматического обновления WordPress — критическая ошибка, белый экран. Полное восстановление с резервной копии, анализ конфликта плагинов, отладка.
Клиент самостоятельно обновил WordPress до версии 6.4.2, после чего сайт перестал открываться. На всех страницах — «белый экран смерти» (WSOD), административная панель также недоступна. Хостинг — cPanel, сайт на WordPress с 15+ активными плагинами.
Вот как выглядел экран для посетителя и администратора:
Полный бэкап от предыдущего дня (файлы + БД) в cPanel (Backup / JetBackup). Последняя рабочая версия.
Активация WP_DEBUG и WP_DEBUG_LOG в wp-config.php для сбора критических ошибок.
Ручной ремонт таблиц через phpMyAdmin (cPanel) — Repair table для wp_options, wp_posts.
Доступ к файловому менеджеру, управлению БД, логам ошибок и откату через резервные копии.
old-plugin/custom-functions.php и outdated/class.api.php.Почему не получилось просто обновить? Три плагина использовали устаревшие функции WordPress, удалённые в новой версии. Также одна из таблиц БД оказалась повреждена во время автоматического апдейта (сбой питания на сервере). Резервная копия + лог ошибок позволили точно определить цели.
— Выдержка из технического отчёта
| Ошибка / симптом | Вероятная причина | Решение |
|---|---|---|
Parse error: syntax error, unexpected ... |
Плагин/тема используют PHP-код, несовместимый с новой версией PHP (напр. PHP 8.0 → 8.2). | Отключить проблемный плагин через Файловый менеджер (переименовать папку), обновить или заменить. |
Call to undefined function |
Плагин вызывает функцию, которая удалена в новой версии WP. | Деактивация через БД (изменить active_plugins в wp_options), затем обновление. |
| Белый экран (ничего не выводится) | Фатальная ошибка PHP, но вывод отключён. Не хватает памяти (memory limit). | Включить WP_DEBUG, увеличить memory limit в wp-config.php или .htaccess. |
| Ошибка подключения к БД / "Error establishing a database connection" | Неправильные данные в wp-config.php после обновления, либо краш таблиц MySQL. | Проверить креденшелы в cPanel, восстановить БД из бэкапа или починить таблицы через phpMyAdmin. |
Если бы не ежедневная резервная копия в cPanel (внешнее хранилище), восстановление заняло бы минимум 2-3 дня. Благодаря бэкапу удалось за час вернуть сайт онлайн, а затем уже в спокойном режиме разобраться с конфликтами на тестовой копии.