Подъём с очень старой версии 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 дней гарантии