Обновление PHP часто вскрывает старый код: устаревшие функции, несовместимые плагины, отсутствующие расширения, строгие типы и изменения в настройках. Ошибка может появиться сразу на главной или только в отдельном разделе.
Когда это становится проблемой
Сайт перестает открываться, админка недоступна, форма не отправляется или часть страниц показывает fatal error. Если просто откатить PHP и ничего не проверить, проблема вернется при следующем обновлении.
Что проверяю в первую очередь
- Точную версию PHP до и после обновления
- Логи ошибок PHP, веб-сервера и CMS
- Наличие расширений mbstring, curl, gd, mysqli, pdo, intl и других зависимостей
- Совместимость темы, плагинов, фреймворка и Composer-пакетов
- Места с deprecated, fatal error, type error и warning
Как исправляю
Я сначала возвращаю управляемость: нахожу ошибку, включаю безопасное логирование и отделяю критичный сбой от предупреждений. Затем исправляю несовместимый код или зависимости.
- Восстанавливаю нужные PHP-расширения и настройки
- Обновляю несовместимые библиотеки или фиксирую старый код
- Исправляю fatal error и критичные warning, которые ломают вывод
- Проверяю сайт на новой версии PHP по ключевым сценариям
Что важно не сломать
Нельзя отключать вывод ошибок как единственное решение. Это прячет проблему, но не исправляет несовместимость.
Что будет после исправления
- Сайт работает на актуальной версии PHP
- Критичные ошибки устранены
- Админка и формы проверены
- Понятно, какие старые части проекта требуют планового обновления
Что подготовить перед обращением
- Доступ к серверу или панели хостинга
- Версия PHP до обновления, если известна
- Лог ошибки или скрин
- CMS, фреймворк или репозиторий проекта
Вопросы и ответы
Можно ли исправить без полной переделки?
Да, часто можно точечно исправить несовместимые места. Полная миграция нужна, если проект держится на очень старой CMS или библиотеке.
Сколько времени занимает диагностика?
Критичный fatal error обычно находится быстро. Полная проверка совместимости занимает больше времени.
Нужна похожая задача?
Напишите в Telegram @rabotator_support и коротко опишите проблему. Я посмотрю симптомы, предложу понятный план работ и скажу, какие доступы нужны для безопасного исправления.