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

Сначала получите точную ошибку
Белая страница или 500 — это только внешний симптом. Нужно открыть журнал PHP-FPM, error_log или лог веб-сервера и найти первое исключение, которое возникает при запросе. Последующие ошибки могут быть лишь следствием.
Проверьте обязательные расширения
На новом сервере могут отсутствовать модули PHP, которые были установлены раньше: mbstring, intl, gd, imagick, soap или специфичный драйвер базы данных. Даже если версия PHP поддерживается, отсутствие расширения способно остановить отдельный функционал.
Ищите устаревшие конструкции
Старый код может использовать функции и синтаксис, удалённые или изменённые в новых версиях PHP. В собственных модулях и шаблонах стоит проверить предупреждения о типах, работу со строками, массивами и библиотеками сторонних разработчиков.

Не меняйте сразу несколько компонентов
Если одновременно обновить PHP, базу данных, CMS и сторонние модули, источник ошибки становится неочевидным. Безопаснее менять окружение этапами и после каждого шага проходить ключевые сценарии.
Проверяйте не только публичную страницу
- административную часть;
- авторизацию;
- формы и почту;
- работу изображений;
- импорт и экспорт;
- cron;
- интеграции и API.
Когда нужен временный откат
Если рабочий сайт недоступен, а исправление требует времени, разумно вернуть совместимую версию PHP и продолжить диагностику на копии. Это лучше, чем исправлять большой проект прямо в продакшене под давлением времени.
Проверка совместимости и адаптация старого кода относятся к технической поддержке сайта. Если изменение связано с переездом, дополнительно используйте чек-лист переноса на новый сервер.