1С-Битрикс: ошибка из-за версии PHP

  • Обновлено
  • Чтение ≈ 4 минуты

Краткий ответ

Ошибка требований PHP в 1С-Битрикс означает несовпадение версии PHP и параметров. Проверьте версию PHP, расширения, значения php.ini (max_input_vars, opcache, mbstring), переключите версию PHP на хостинге и запустите проверку системы в админке.

В этой статье
  1. Требования платформы
  2. Типичные ошибки
  3. Диагностика
  4. Что делать при белом экране
  5. Как проверить, что сайт готов к смене версии

#Требования платформы

Версии Битрикс предъявляют требования к PHP: для современных версий главного модуля нужен PHP 7.4 или выше (рекомендуется 8.1–8.2), необходимы расширения mbstring, curl, gd, json, xml, zip, mysqli, opcache. Из значений php.ini важны max_input_vars (не менее 10000), memory_limit (от 256 МБ), opcache.revalidate_freq=0 и mbstring.func_overload=0. После смены версии PHP на хостинге появляются ошибки совместимости: устаревший код шаблонов или сторонних модулей.

#Типичные ошибки

Возможная причинаКак узнатьЧто делать
Слишком старая версия PHP5.x/7.0.Не проходит проверка системы.Поднимите до 8.1.
Слишком новая версия PHPСтарая версия Битрикс.Фатальные ошибки.Обновите платформу или верните PHP.
Нет расширенияmbstring, gd.Сообщение «extension required».Включите расширение.
Малое max_input_vars1000.Не сохраняются большие формы.Установите 10000.
Opcache кеширует старый кодИзменения не видны.Старый код после правок.revalidate_freq=0.
Устаревший код в шаблонахФункции удалены.Ошибки после смены PHP.Обновите код.

#Диагностика

  1. Откройте проверку системы: /bitrix/admin/site_checker.phpВойдите в административную панель 1С-Битрикс с правами администратора и откройте «Настройки → Инструменты → Проверка системы» либо прямую ссылку /bitrix/admin/site_checker.php на своём домене. Запустите проверку и сохраните отчёт; обратите внимание на требования именно установленной редакции/версии. Если админка не открывается, посмотрите журнал PHP и используйте временную тестовую копию сайта.
  2. Посмотрите версию PHP и требуемуюВ панели хостинга откройте настройки нужного домена → «Версия PHP» и запишите рабочую/новую версию. В административной панели Битрикс найдите сведения о системе и сравните совместимость с официальными требованиями вашей версии продукта. Команда php -v в SSH показывает консольный интерпретатор и не доказывает, что веб-сайт работает на нём. Переключайте версию лишь после резервной копии и тестирования.
  3. Проверьте расширенияВ административной панели или сведениях PHP для веб-сайта посмотрите список расширений, включая mbstring, curl, gd, mysqli, xml, zip, opcache — необходимый набор зависит от выпуска и используемых модулей. Не проверяйте расширения Битрикс через chrome://extensions: это расширения браузера, а не PHP. Если модуль отсутствует, включите его через панель PHP или обратитесь к хостеру.
  4. Проверьте значения php.iniСравните memory_limit, max_input_vars, upload_max_filesize, post_max_size с результатом штатной проверки Битрикс для вашей версии. Меняйте только значения, по которым получено конкретное замечание, с учётом ограничений памяти сервера. Старые параметры mbstring.func_overload и mbstring.internal_encoding несовместимы с новыми PHP: не копируйте прежний php.ini целиком.
  5. Измените версию PHP в панели хостингаПеред переключением PHP экспортируйте базу, создайте архив файлов и тестовый поддомен с копией сайта. В панели нужного домена измените PHP на версию, поддерживаемую вашим выпуском 1С-Битрикс, сохраните настройку и проверьте тестовую копию: вход, корзину, заказы, обновления и фоновые агенты. При ошибках верните прежнюю версию, пока несовместимые модули не исправлены.
  6. Проверьте, что в .htaccess нет устаревших директивЕсли после смены PHP возникла ошибка 500, откройте журнал Apache/Nginx по времени запроса и проверьте .htaccess только при Apache: устаревшие php_value/php_flag могут давать Invalid command при PHP-FPM. Сохраните файл и исправляйте конкретную директиву по правилам выбранного обработчика; не удаляйте весь .htaccess, так как там могут быть важные ограничения доступа.
  7. Проверьте журнал ошибокЧерез панель хостинга найдите error.log нужного сайта и свежие строки после повторения ошибки. На сервере с SSH уточните имя действующей службы PHP-FPM и прочитайте её журнал journalctl -u реальная-служба -n 50 --no-pager. Сопоставьте упоминания несовместимых функций, нехватки памяти и расширений с изменённой версией PHP. При неуспехе приложите обезличенный лог хостеру и верните рабочую версию.
  8. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Версия PHP и расширения
    Linux · Терминал (Bash)Команда
    Версия PHP и расширения
    php -v
    php -m | grep -Ei 'mbstring|curl|gd|json|xml|zip|mysqli|opcache'
    Вариант 2Значения важных параметров
    Linux · Терминал (Bash)Команда
    Значения важных параметров
    php -i | grep -Ei 'max_input_vars|memory_limit|opcache.revalidate_freq|mbstring.func_overload|upload_max_filesize|post_max_size'
    Вариант 3Рекомендуемые значения для Битрикс (файл php.ini или .user.ini в корне сайта)
    INIКоманда
    Рекомендуемые значения для Битрикс (файл php.ini или .user.ini в корне сайта)
    max_input_vars = 10000
    memory_limit = 512M
    upload_max_filesize = 64M
    post_max_size = 64M
    opcache.revalidate_freq = 0
    mbstring.internal_encoding = UTF-8
    date.timezone = Europe/Moscow
    Вариант 4Журнал ошибок PHP и веб-сервера
    Linux · Терминал (Bash)Команда
    Журнал ошибок PHP и веб-сервера
    tail -n 50 /var/log/php-fpm/error.log
    tail -n 50 /var/www/site/bitrix/modules/error.log

#Что делать при белом экране

Включите вывод ошибок временно: в bitrix/.settings.php в блоке exception_handling установите debug => true. Перезагрузите страницу и найдите ошибку: она укажет файл и строку. После устранения верните значение false, чтобы не показывать ошибки посетителям.

#Как проверить, что сайт готов к смене версии

Прежде чем менять PHP, откройте «Настройки → Настройки продукта → Проверка системы» и убедитесь, что тест проходит без красных пунктов. Затем в разделе «Настройки → Настройки продукта → Модули» проверьте, что все модули обновлены до последней версии: старые версии модулей main, iblock, sale не поддерживают PHP 8. Самописные компоненты и шаблоны проверьте поиском устаревших вызовов: each(, create_function, ${var} в строках (устарело в PHP 8.2) и доступ к смещениям строк фигурными скобками.

Linux · Терминал (Bash)Команда
Проверка нескольких версий PHP на сервере, если установлено несколько
ls /usr/bin/php* /opt/php*/bin/php 2>/dev/null
php8.2 -v 2>/dev/null

Если у вас виртуальная машина «1C-Битрикс: Виртуальная машина», версию PHP меняют через меню /root/menu.sh (раздел настроек веб-окружения), а не вручную.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.