WordPress WordPress на Linux-хостинге; веб-сервер и PHP по версии сайта

WordPress: После перехода на PHP 8 часть плагинов перестала работать

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

После смены PHP 7 на PHP 8 часть плагинов WordPress может перестать работать из-за удалённых функций, несовместимых сигнатур методов, старых зависимостей или отсутствующих расширений. Безопасная стратегия — тестовая копия, точная фатальная ошибка и обновление конкретного компонента, а не массовое отключение защиты.

В этой статье
  1. Что происходит и как определить неисправность
  2. Вероятные причины и признаки
  3. Пошаговая диагностика и исправление
  4. Как проверить результат
  5. Если не помогло

#Что происходит и как определить неисправность

После смены PHP 7 на PHP 8 часть плагинов WordPress может перестать работать из-за удалённых функций, несовместимых сигнатур методов, старых зависимостей или отсутствующих расширений. Безопасная стратегия — тестовая копия, точная фатальная ошибка и обновление конкретного компонента, а не массовое отключение защиты.

#Вероятные причины и признаки

Возможная причинаКак узнатьЧто делать
Плагин использует удалённые элементы PHPПлагин использует удалённые элементы PHP. Fatal error указывает на устаревшую функцию/метод в файлах плагинаFatal error указывает на устаревшую функцию/метод в файлах плагинаПроверить совместимую версию плагина, обновить на копии.
Изменились требования к типам и аргументамИзменились требования к типам и аргументам. TypeError/ValueError появляется после перехода PHP 8TypeError/ValueError появляется после перехода PHP 8Разобрать конкретный вызов и тесты совместимости.
Для новой версии PHP не включено расширениеДля новой версии PHP не включено расширение. Call to undefined function mysqli... либо отсутствует класс из расширенияCall to undefined function mysqli... либо отсутствует класс из расширенияУточнить веб-версию PHP и включённые модули.

#Пошаговая диагностика и исправление

  1. Сохраните состояние до переключения PHPСделайте резервную копию файлов WordPress и базы MySQL, запишите установленную версию PHP, версию WordPress и список активных плагинов. Если работает интернет-магазин, согласуйте время тестов; нельзя рисковать текущими заказами и платёжными операциями.
  1. Сверьте действительную версию веб-обработчикаВ панели сайта найдите конкретную версию PHP-FPM, на которой работает домен. Не полагайтесь на php -v по SSH: CLI может использовать другую версию. Запишите также доступные расширения, настройки OPcache и текущие ограничения памяти.
  1. Соберите одну точную ошибкуЕсли сайт показывает критическую ошибку, проверьте письмо режима восстановления. В панели хостинга откройте журнал PHP и найдите сообщение Fatal error, TypeError, ValueError, вызвавший файл и строку. Не копируйте в публичные отчёты пути с паролями и другие секреты.
  1. Определите проблемный компонент по файлуЕсли ошибка указывает на wp-content/plugins/имя-плагина, откройте официальный источник плагина и его поддержку. Сверьте совместимость именно с установленными WordPress и PHP. Если строка относится к ядру, сначала исключите вмешательство стороннего автозагрузчика/плагина.
  1. На копии временно отключите конкретный плагинВ WordPress откройте Плагины → Установленные → Деактивировать; если панель не работает, в файловом менеджере переименуйте только каталог проблемного плагина внутри wp-content/plugins. Проверяйте сайт и возвращайте название, если это не помогло.
  1. Проверяйте обновление плагина отдельноНа тестовой копии установите официальную версию, заявляющую совместимость с вашим PHP. Если автор прекратил поддержку, подберите поддерживаемую замену и проверьте миграцию её данных. Не исправляйте ядро WordPress или файлы вендора напрямую на рабочем сайте.
  1. Разберите отсутствующее расширениеВ панели PHP нужного домена проверьте наличие требуемого расширения (например, mysqli, mbstring, intl). При установке расширения учитывайте конкретную сборку PHP и не включайте модуль с другого интерпретатора. Перезапускать все PHP-пулы на сервере ради одного сайта не нужно.
  1. Проверьте ключевые пользовательские действияНа тестовой копии последовательно пройдите вход, редактор, отправку формы, загрузку файла, оплату в тестовом режиме и фоновые задания (по применимости). Просто открывшаяся главная не гарантирует совместимость с PHP 8.
  1. Публикуйте небольшими изменениями и держите откатПеренесите только протестированные версии и настройки в рабочее окружение; следите за журналом в первые обращения. Если возникли новые ошибки, верните пакет кода и настройки из согласованной копии, а переключение версии PHP выполняйте через хостинг с учётом других сайтов.

#Как проверить результат

На целевой PHP 8 проходят основные сценарии WordPress и тестовые операции плагинов, в журнале нет новых фатальных ошибок, временные отладочные настройки выключены.

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

Если устранён один плагин, но выявилась другая ошибка, повторяйте изоляцию по журналу. Не смешивайте исправление отсутствующего модуля с изменениями синтаксиса PHP: это разные проблемы.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.