Как обновить 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 не существует. Единственный правильный и безопасный способ — это миграция:

  1. Создается новый сервер с установленной BitrixVM 9.
  2. Проект (сайт) полностью переносится со старого сервера на новый.

 

Конкретный пример: конфликт зависимостей 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+) и всех необходимых библиотек.

Полезные материалы

3 Июль
Как обновить BitrixVM с версии 7.x.x на версию 9
Почему пора обновлять BitrixVM 7 и как перейти на версию 9 Если ваш сайт на 1С-Битрикс работает на...
13 Октябрь 2020
Почему я не вижу свою рекламу?
Как контролировать ведение рекламных кампаний
12 Август 2020
Яндекс.Директ. Есть проблемы
От этого сообщения многие наши клиенты начинают волноваться
2 Апрель 2020
Как закрыть сайт или раздел паролем
Иногда возникает необходимость закрыть вход паролем от посетителей и роботов. Это может понадобиться для...
19 Март 2020
Устранение уязвимости в WordPress
Уязвимость в плагине Popup Builder
12 Март 2020
Перенос сайта с одного хостинга на другой
В статье описывается сравнительно простая процедура переноса хостинга сайта, написанного на языке PHP,...