Как обновить BitrixVM с версии 7.x.x на версию 9
Почему пора обновлять BitrixVM 7 и как перейти на версию 9
Если ваш сайт на 1С-Битрикс работает на виртуальной машине BitrixVM версии 7.x, эта статья для вас. Рассказываем, почему оставаться на старой версии небезопасно и как правильно выполнить переход на актуальную BitrixVM 9.
Проблема: окончание поддержки CentOS 7
Ключевая проблема BitrixVM 7 в том, что она работает на операционной системе CentOS 7. Полная поддержка этой ОС была прекращена 30 июня 2024 года. На практике это означает:
- Нет обновлений безопасности. Все новые уязвимости остаются незакрытыми, что ставит ваш сайт под угрозу.
- Нет обновлений ПО. Вы не сможете использовать современные версии программного обеспечения, что со временем приведет к проблемам совместимости.
В качестве решения «1С-Битрикс» выпустила BitrixVM 9, работающую на базе CentOS Stream 9. Эта система будет поддерживаться как минимум до 31 мая 2027 года.
Как обновиться: только миграция
Важно понимать: прямого обновления с BitrixVM 7 до BitrixVM 9 не существует. Единственный правильный и безопасный способ — это миграция:
- Создается новый сервер с установленной BitrixVM 9.
- Проект (сайт) полностью переносится со старого сервера на новый.
Конкретный пример: конфликт зависимостей Composer
Ограничения старой системы — это не просто теория. Вот реальный пример проблемы, с которой сталкиваются разработчики на BitrixVM 7.
Максимально доступная версия PHP на CentOS 7 — это PHP 8.1. Допустим, ваш проект использует популярную библиотеку mPDF
для генерации PDF-файлов, установленную через Composer. Из-за ограничения по PHP вы можете установить только старую версию библиотеки:
"mpdf/mpdf": "8.0.13"
Эта версия, в свою очередь, требует устаревшую зависимость — библиотеку логгирования psr/log
версии ^1.0
.
И здесь возникает конфликт: свежие обновления ядра «1С-Битрикс» требуют более новую версию psr/log
(^2.0
или ^3.0
). В результате при попытке обновить сайт или установить другие пакеты вы получите критическую ошибку:
[ErrorException] E_COMPILE_ERROR
Declaration of Bitrix\Main\Diag\Logger::log(...) must be compatible with Psr\Log\LoggerInterface::log(...)
/home/bitrix/www/bitrix/modules/main/lib/diag/logger.php:59
Эта патовая ситуация - старые зависимости мешают обновлению ядра. Данный пример — весомая причина для скорейшего переезда на новую BitrixVM 9, где вы сможете использовать актуальные версии PHP (8.2, 8.3+) и всех необходимых библиотек.