Как обновить 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, старое не умеет.
Порядок, который экономит вечер:
- Резервная копия файлов и базы, с проверкой, что она разворачивается.
- Обновление продукта на текущей версии PHP: ядро, модули, решения Маркетплейса.
- Проверка копии сайта на новой версии, если есть такая возможность.
- Переключение в наименее посещаемое время.
- Проверка по сценариям: главная, каталог, корзина, оформление заказа, административная часть, обмен, почта.
Что именно ломается на 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.