После обновления PHP появилась ошибка 500
Проверяем несовместимость кода, недостающие расширения, новую конфигурацию и ошибочный обработчик PHP.
Проверьте по порядку
Не меняйте несколько вещей одновременно. После каждого шага фиксируйте результат — так причина находится заметно быстрее.
- 1Посмотрите error log PHP/веб-сервера сразу после запроса — без текста ошибки 500 почти не диагностируется.
- 2Проверьте, что сайт действительно переключился на ожидаемую версию PHP, а не только панель показывает новое значение.
- 3Сверьте обязательные расширения проекта: mbstring, intl, gd/imagick, curl, xml, zip и другие.
- 4Если возможно, временно верните предыдущую рабочую версию PHP для подтверждения причины.
Как читать результат
Несовместимый код
Признак: В логе Fatal error/Deprecated превращённый в exception.
Что делать: Обновите CMS/код или исправьте несовместимый участок.
Нет расширения
Признак: Лог сообщает undefined function/class extension.
Что делать: Подключите нужное расширение именно к этой версии PHP.
Неверный handler
Признак: После переключения сайт смотрит в несуществующий пул/socket.
Что делать: Сверьте конфигурацию vhost и работающий PHP-FPM backend.
Главное правило диагностики
Сначала определите слой, на котором возникает сбой: имя домена → сеть → TLS/SSL → веб-сервер → PHP/приложение → браузер. Не исправляйте следующий слой, пока не убедились, что предыдущий работает.