Бесплатный экспресс-аудит сайта Безопасность, SEO, AI-поиск и 152-ФЗ — отчёт с баллами за минуту Проверить сайт
Обсудить проект

Как обновить PHP в BitrixVM и как откатиться назад

В виртуальной машине версия PHP меняется пунктом меню: ставить пакеты руками не нужно и вредно — окружение собрано так, чтобы версии были согласованы между собой.

Путь в меню

Откройте меню командой /root/menu.sh и пройдите:

Manage servers in the pool → Update PHP, MySQL, PostgreSQL → имя сервера в пуле

Дальше выбирается, что обновлять. Для PHP это пункт Update PHP to version x.x. По умолчанию в девятой версии машины стоит PHP 8.2, обновиться можно до 8.3, 8.4 и 8.5.

Номера пунктов отличаются между версиями машины, поэтому ориентируйтесь на названия: номер из статьи трёхлетней давности почти наверняка окажется чужим.

Главное предупреждение

Сначала обновляется продукт, потом PHP. Вендор формулирует прямо: без обновления продукта проекты будут падать с фатальными ошибками на новой версии. Логика та же, что и при любом переходе — свежее ядро умеет работать с новым PHP, старое не умеет.

Порядок, который экономит вечер:

  1. Резервная копия файлов и базы, с проверкой, что она разворачивается.
  2. Обновление продукта на текущей версии PHP: ядро, модули, решения Маркетплейса.
  3. Проверка копии сайта на новой версии, если есть такая возможность.
  4. Переключение в наименее посещаемое время.
  5. Проверка по сценариям: главная, каталог, корзина, оформление заказа, административная часть, обмен, почта.

Что именно ломается на PHP 8 и как это чинить — в отдельном разборе в разделе ошибок.

Откат

Он предусмотрен штатно и лежит рядом:

Update PHP, MySQL, PostgreSQL → имя сервера → Downgrade PHP → Downgrade PHP to version x.x

Пункт показывает те версии, на которые можно вернуться с текущей: с 8.5 доступны 8.4, 8.3 и ниже. Опуститься ниже минимальной версии, которую требует продукт, нельзя — и это правильное ограничение: на старой версии перестанут приходить обновления.

Откат — штатная операция, а не аварийная. Если после переключения сайт лёг, вернуть прежнюю версию и разбираться спокойно почти всегда лучше, чем чинить боевой сайт под нагрузкой.

Как следить за ходом

Обновление выполняется фоновой задачей. Состояние — в пункте Background pool tasks → View running tasks, журналы в каталоге /opt/webdir/temp. Если задача зависла или завершилась с ошибкой, ответ будет там, а не в меню.

Что проверить после

  • Версия у веб-сервера, а не в системе. Продукт читает ту, под которой работает сайт; системная версия по умолчанию может быть другой.
  • Консольный PHP. У него свои настройки и своя версия — это важно для заданий cron и обмена с 1С.
  • Расширения. Часть ставится отдельно под каждую версию; проверка системы в административной части покажет недостающие.
  • Обновления продукта. Если они по-прежнему не приходят, значит версия переключилась не там, где думали.

Частые вопросы после переключения

  • Сайт работает, а задания cron падают — в задании указана версия интерпретатора, которой больше нет. Поправьте путь.
  • Пропало расширение — поставьте его для новой версии, старое к ней не относится.
  • Часть страниц отдаёт белый экран — включите вывод ошибок на копии сайта и смотрите, что именно несовместимо.

Частые вопросы

Почему нельзя просто поставить PHP через пакетный менеджер?

Можно, но тогда вы берёте на себя сборку расширений, настройку пулов и совместимость с остальным окружением. Пункт меню делает это согласованно и переключает веб-сервер на новую версию. Ручная установка вдобавок сбивает обновления самой машины.

Какая версия PHP нужна продуктам 1С-Битрикс?

С 1 февраля 2026 года минимальная — 8.2, рекомендуемая 8.3 и выше. Пока версия ниже минимальной, обновления продукта не устанавливаются.

Обновление идёт уже полчаса. Это нормально?

Да, такие задачи выполняются в фоне и зависят от нагрузки сервера. Следить за ними можно в пункте Background pool tasks, журналы лежат в каталоге /opt/webdir/temp.