После обновления PHP появилась ошибка 500

Проверяем несовместимость кода, недостающие расширения, новую конфигурацию и ошибочный обработчик PHP.

Хостинг и серверПроверка по симптомам

Проверьте по порядку

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

  1. 1
    Посмотрите error log PHP/веб-сервера сразу после запроса — без текста ошибки 500 почти не диагностируется.
  2. 2
    Проверьте, что сайт действительно переключился на ожидаемую версию PHP, а не только панель показывает новое значение.
  3. 3
    Сверьте обязательные расширения проекта: mbstring, intl, gd/imagick, curl, xml, zip и другие.
  4. 4
    Если возможно, временно верните предыдущую рабочую версию PHP для подтверждения причины.

Как читать результат

Несовместимый код

Признак: В логе Fatal error/Deprecated превращённый в exception.

Что делать: Обновите CMS/код или исправьте несовместимый участок.

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

Признак: Лог сообщает undefined function/class extension.

Что делать: Подключите нужное расширение именно к этой версии PHP.

Неверный handler

Признак: После переключения сайт смотрит в несуществующий пул/socket.

Что делать: Сверьте конфигурацию vhost и работающий PHP-FPM backend.

Главное правило диагностики

Сначала определите слой, на котором возникает сбой: имя домена → сеть → TLS/SSL → веб-сервер → PHP/приложение → браузер. Не исправляйте следующий слой, пока не убедились, что предыдущий работает.