Перейти к основному содержанию
Тест-сервис
Обсудить проект
Все материалы
Поддержка ошибка 500 обновление Битрикс PHP

Ошибка 500 после обновления Битрикс: порядок диагностики

Ошибка 500 — только внешний симптом. Показываем, где найти первичное исключение после обновления Битрикс и как не уничтожить доказательства случайными правками.

После обновления ядра или модуля браузер может показать только 500 Internal Server Error. Этот ответ не объясняет причину: ею может быть синтаксическая ошибка, несовместимая версия PHP, отсутствующее расширение, нехватка памяти, ошибка подключения к базе или старый код, который перестал соответствовать новому API.

Главное правило Сначала зафиксируйте точное время, URL, действие пользователя и первичную ошибку в журнале. Очистка кеша, повторное обновление и массовая замена файлов до чтения логов часто стирают полезные признаки.

1. Определите границы сбоя

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

  • Запишите URL и время запроса с точностью до минуты.
  • Проверьте, воспроизводится ли ошибка без авторизации и на другом узле, если их несколько.
  • Уточните, какие пакеты обновлялись и завершилась ли установка штатно.
  • Не включайте подробный вывод ошибок на публичном сайте: он может раскрыть пути и параметры подключения.

2. Найдите первичную запись в логах

Смотрите журналы PHP-FPM, Apache или Nginx и системный журнал контейнера. Ищите запись в тот же момент и по тому же URI. Сообщение Allowed memory size exhausted, Call to undefined method, Class not found или SQLSTATE задаёт разные ветки диагностики.

bash
date
tail -n 200 /var/log/nginx/error.log
journalctl -u php8.2-fpm --since "10 minutes ago"
docker logs --since 10m php-container

Имена сервисов и файлов зависят от окружения. Команды выполняйте с учётной записью, которой разрешено читать журналы; не публикуйте их содержимое целиком.

3. Сверьте окружение и совместимость

Проверьте фактическую версию PHP в веб-контексте, загруженные расширения, лимит памяти и драйвер базы. CLI и PHP-FPM могут использовать разные конфигурации. Затем запустите штатную проверку системы Битрикс и сопоставьте требования обновлённых модулей с текущим окружением.

4. Исключите локальные изменения ядра

Если файлы /bitrix/modules/ изменялись вручную, обновление могло объединить несовместимые версии. Сравнивайте с чистым дистрибутивом той же версии. Пользовательский код должен находиться в /local/; переносить правки из ядра вслепую нельзя.

5. Проверьте кеш и схему базы

Кеш очищают после фиксации логов и только штатным способом. Если обновление прервалось, проверьте журнал установки и состояние таблиц; не запускайте произвольные SQL-команды из форумов. Перед продолжением создайте снимок текущего состояния, даже если оно уже неисправно.

Когда нужен откат

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

Результат диагностики

Хороший итог — не исчезнувшая после перезагрузки ошибка, а документированная первопричина: конкретный стек, несовместимый модуль или параметр окружения, исправление, проверенный сценарий и условие отката.

Официальная документация

Общие сведения о системе обновлений 1С-Битрикс.