#Признаки проблемы и применимость
После переключения PHP сайт 1С-Битрикс возвращает HTTP 500. Нужна диагностика точного исключения, поддержки модулей и веб-версии PHP с возможностью отката, а не бесконечное изменение php.ini. Переход на PHP 8 требует совместимых ядра и сторонних решений.
#Причины и отличительные признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Не совместим собственный кодНе совместим собственный код. Fatal error в /local или шаблоне после смены PHP | Fatal error в /local или шаблоне после смены PHP | Исправить несовместимый вызов на копии |
| Нет нужного расширенияНет нужного расширения. Class not found / function undefined, например по БД или изображению | Class not found / function undefined, например по БД или изображению | Сравнить расширения нового PHP |
| Изменился обработчик или пулИзменился обработчик или пул. Новый пул видит другие ini, права или каталог | Новый пул видит другие ini, права или каталог | Проверить веб-окружение и правила FPM |
#Пошаговая диагностика и исправление
- Не продолжайте менять версии вслепуюЗапишите время смены PHP, предыдущую и новую версии из панели хостинга. Сохраните текущую конфигурацию домена, файлы и базу данных. Если сайт коммерческий, предупредите ответственного и подготовьте возможность возврата прежней рабочей версии с учётом поддержки безопасности.
- Узнайте, где возникает ошибка 500Откройте главную и страницу /bitrix/admin/ через частный браузер. Если одна работает, изучайте отдельный компонент; если обе дают 500, начинайте с загрузки ядра, PHP-FPM и расширений. Не включайте показ подробных ошибок публично.
- Прочитайте первую фатальную ошибкуВ панели управления выберите журнал PHP нужного сайта, сопоставьте время запроса, путь и тип исключения. ErrorLog веб-сервера и журнал PHP могут находиться отдельно. При сообщении Allowed memory size не повышайте лимит автоматически — исследуйте конкретный запрос.
- Проверьте PHP, которым реально обслуживается сайтВ панели сайта найдите активный обработчик PHP-FPM/CGI и его расширения. CLI-команда ниже пригодна лишь как вспомогательная сверка установленного PHP, но не доказывает, какой обработчик использует веб-сайт.
- Команды только для терминала Linux/Unix; вывод CLI может отличаться от PHP-FPMLinux · Терминал (Bash)КомандаКоманды только для терминала Linux/Unix; вывод CLI может отличаться от PHP-FPM.
php -v; php -m
- Сопоставьте требования установленной редакцииПо документации 1С-Битрикс проверьте, какие версии PHP поддерживают ядро и модули. До смены PHP рекомендуется обновить ядро и сторонние решения на проверенном стенде. Модули из Маркетплейса и собственный код могут требовать отдельной адаптации.
- Исправьте конкретную зависимость на копииЕсли в журнале отсутствует расширение, установите его именно для нового веб-PHP по правилам панели. Если несовместим шаблон или компонент, обновите или перепишите вызов на тестовой копии. Не отключайте защиту ошибок и не заменяйте файлы ядра сторонними патчами.
- Проверьте сайт и план откатаПосле исправления откройте каталог, карточку, вход, отправку формы и тестовый заказ без оплаты. Проверяйте каждый ответ и журналы; если проблема остаётся, восстановите прежний набор совместимых PHP/модулей с учётом сохранённой конфигурации и зафиксируйте причину.
#Проверка результата
Основные страницы отвечают без 500, в журнале отсутствуют новые фатальные ошибки, ключевые модули работают на согласованной версии PHP.
#Что делать, если не помогло
Если журнал пуст, проверьте журнал PHP-FPM и ошибки загрузки расширений до запуска скрипта. Если изменение версии отозвалось на соседних сайтах, согласуйте раздельные пулы и немедленный откат.