Yandex Metrika
sanches.free

Подъём с очень старой версии 1С‑Битрикс: лестница PHP, апдейт платформы и переход на mysqli

Кому это актуально

Типичный сценарий — давно не обновляемый проект на относительно ранней основе (в оригинальной шпаргалке фигурировала ветка 17 и ниже): установщик следующего крупного шага отказывается стартовать на слишком старом PHP, а после скачивания обновлений всплывает ещё и отсутствие расширения mysqli, если исторически использовали устаревший mysql. Современные релизы продукта требуют гораздо более свежего PHP; материал описывает именно разрыв клина при выходе из глубокого легаси, а не финальные системные требования текущего главного релиза — их лучше сверить с официальной документацией под вашу редакцию.

Перед любыми действиями

  • Снимите полный бэкап файлов и базы или клонируйте стенд; правки ведите сначала не на проде.
  • Зафиксируйте текущие версии продукта, модулей и PHP — чтобы откатить конфиг при неудаче.
  • Планируйте окно обслуживания: миграции и смена драйвера БД почти всегда означают краткий простой.

Шаг 1: промежуточный PHP

Сначала поднимите интерпретатор на хостинге или в контейнере до минимально допустимого для того обновления, которое хотите установить следующим «первым прыжком». В исторических инструкциях для перехода к ветке около 18.0 часто упоминали порог в духе PHP 5.6 — это не актуально для новых сайтов, но может совпасть с реальным состоянием старого железа. Главное правило: не перескакивайте через требования мастера обновления; если нужна более новая ветка — повторите цикл «PHP → апдейтер → проверка».

Шаг 2: обновление платформы

Откройте раздел административной части, связанный с обновлением платформы (через Маркетплейс / «Обновление платформы» в нужной редакции). Прямой адрес того же экрана:

/bitrix/admin/update_system.php?lang=ru

Дождитесь загрузки модулями и проверки целостности; при ошибках сначала решайте проблемы с правами на /bitrix/modules и сетью до портала обновлений.

Шаг 3: следующий порог PHP

После первого блока апдейтов снова откройте требования к окружению в мастере и при необходимости поднимите PHP до версии, которую просит уже текущий набор установленных пакетов. На этом этаче часто всплывают несовместимости в кастомном коде — прогоняйте smoke‑тесты публички и ключевых сценариев администрирования.

Шаг 4: включить mysqli

Если ранее действительно опирались на устаревшее расширение mysql, подключите mysqli в конфигурации PHP и переведите ядро на соответствующий класс соединения.

В файле /bitrix/.settings.php для секции базы данных укажите класс \Bitrix\Main\DB\MysqliConnection вместо устаревшего варианта с MysqlConnection:

'className' => '\Bitrix\Main\DB\MysqliConnection',

В легаси‑файле /bitrix/php_interface/dbconn.php добавьте явное разрешение драйверу работать через mysqli:

define('BX_USE_MYSQLI', true);

Сохраните файлы один раз для обеих точек входа (.settings.php главнее для D7; dbconn.php остаётся мостом для старых включений).

Шаг 5: дожать все обновления

Снова откройте страницу обновления платформы и установите доступные модули пакетами, пока мастер не сообщит об отсутствии очереди или пока вы не достигнете целевой ветки по плану миграции.

/bitrix/admin/update_system.php?lang=ru

Проверка после прыжка

  • Кэш сбросьте штатным инструментом и проверьте cron/агенты.
  • Просмотрите логи PHP и веб‑сервера на предмет предупреждений о несовместимых конструкциях.
  • Убедитесь, что резервное копирование и обмены (если есть) стартуют без ошибок под новым драйвером.

Идея исходной заметки с подборки D7‑сниппетов сводится к редкой, но болезненной задаче: согласовать PHP, дистрибутив продукта и драйвер MySQL поэтапно. Для свежих проектов читайте это как историю миграции; для реально старых инсталляций — как чеклист, который всё ещё встречается на поддержке.

Не хотите копаться сами?

Починю за 1-3 дня. Без предоплаты — оплата по результату.

15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии