Обсудить проект

WordPress не работает после обновления PHP — как найти несовместимый код

Смена версии PHP может ускорить сайт и закрыть уязвимости, но старый код WordPress иногда перестаёт выполняться.

Откат PHP полезен как временная мера для восстановления доступности, но постоянное решение — найти и обновить несовместимый компонент.

Как проявляется проблема

  • 500 сразу после смены PHP
  • ошибка только в одном плагине
  • TypeError в логах
  • web работает, cron падает
  • пропало нужное расширение PHP

Основные причины

1. Устаревший плагин

Код использует функции или поведение, которых больше нет в новой ветке PHP.

2. Старая тема

functions.php и шаблоны часто обновляются реже ядра.

3. Собственный код

Snippet или интеграция не тестировались на новой PHP.

4. Разные PHP для web и CLI

Cron может запускаться другим бинарником, чем сайт.

5. Нет расширения

После переключения версии могут отсутствовать mbstring, intl, imagick или ionCube.

Пошаговая диагностика

Шаг 1. Вернуть рабочую PHP временно

Сначала восстановите коммерческий сайт, затем диагностируйте на staging.

Шаг 2. Прочитать первый fatal error

Stack trace обычно указывает несовместимый файл.

Шаг 3. Проверить требования

Сверьте поддерживаемые версии PHP у активных компонентов.

Шаг 4. Сравнить расширения

Проверьте модули PHP до и после переключения.

Шаг 5. Протестировать cron

Фронт может работать, а WP-CLI и фоновые задачи — нет.

Как исправить

Обновить или заменить компонент

Не держите неподдерживаемую PHP только ради одного старого плагина.

Исправить собственный код

Уберите deprecated-конструкции и добавьте корректную работу с типами.

Синхронизировать web и CLI

Cron и WP-CLI должны использовать ожидаемую версию PHP.

Что важно не делать

  • Не меняйте сразу несколько настроек: после каждого действия проверяйте результат.
  • Перед правками файлов и базы сделайте резервную копию.
  • Не отключайте защиту, кеш или обновления навсегда только ради временного обхода ошибки.
  • На интернет-магазине проверяйте решение не только под администратором, но и как обычный посетитель.

Когда нужна помощь разработчика

Если проблема повторяется, затрагивает продажи, заявки или индексацию, сохраните время ошибки и журналы сервера. Это позволяет найти первопричину вместо временного обхода.

Нужна диагностика? Можно обратиться за восстановлением WordPress.

Связанные статьи

Часто задаваемые вопросы

Можно оставить старую PHP?

Временно — да, постоянно — нежелательно из-за отсутствия исправлений безопасности.

Почему ошибка только на одном URL?

Несовместимый код может выполняться только в конкретном шаблоне или shortcode.

Нужна переустановка WordPress?

Обычно нет: чаще виноват один компонент или расширение PHP.

Раздел блога: Ошибки WordPress →

Обсудим ваш проект?

Обычно отвечаю в течение 15–30 минут в рабочее время.

Бесплатно проведу первичную оценку и подскажу, какие доработки действительно нужны.