
Как обновить PHP в Битрикс: пошаговая инструкция
Чтобы обновить PHP в Битрикс, сделайте бэкап, обновите ядро и модули, проверьте код на тестовой копии и только потом переключите версию.
Как обновить PHP на сайте 1С-Битрикс
Чтобы обновить PHP в Битрикс, сделайте полный бэкап, обновите платформу и модули, проверьте код на тестовой копии и переключите версию PHP в панели хостинга или меню виртуальной машины. Затем проверьте ключевые сценарии сайта.
Устаревший PHP — одна из самых частых причин, по которым Битрикс перестаёт обновляться, медленно работает или попадает в зону риска по безопасности. В этой статье собран рабочий порядок действий: как проверить текущую версию, что подготовить, где менять PHP в разных окружениях, какие настройки php.ini нужны и что проверить после переключения.
Зачем обновлять PHP и какую версию выбрать
Язык PHP развивается по понятному циклу: каждая ветка какое-то время получает исправления ошибок, затем только патчи безопасности, а потом поддержка прекращается. Ветки PHP 7.x давно вышли из активной поддержки. Если ваш сайт всё ещё работает на них, он остаётся без свежих исправлений уязвимостей, а хостинг-провайдеры постепенно убирают такие версии из панели.
Для Битрикса это важно ещё и по другой причине. Разработчики платформы подтягивают системные требования вместе с развитием языка. Новые версии главного модуля и модулей из Маркетплейса рассчитаны на современные ветки PHP. В итоге сайт на старой версии может не получить очередное обновление или получит его с предупреждением в «Проверке системы».
Какую версию выбирать, зависит от редакции и версии ядра. Ориентир — раздел требований в документации 1С-Битрикс и отчёт «Проверка системы» в вашей админке. Для актуальных релизов рекомендуется PHP 8.1 и выше. Не гонитесь за самой новой веткой: сначала убедитесь, что с ней работают ваши сторонние модули и кастомный код.
Что даёт переход на современную версию PHP
- 01
Закрытые уязвимости: ветка получает исправления безопасности от разработчиков языка
- 02
Совместимость с актуальными обновлениями платформы и модулей Маркетплейса
- 03
Более высокая скорость выполнения PHP-кода, особенно на каталогах и в корзине
- 04
Меньше скрытых ошибок благодаря более строгой работе с типами и предупреждениями
- 05
Поддержка со стороны хостингов: старые версии рано или поздно отключают
- 06
Спокойный апгрейд в будущем: от 8.1 до 8.3 путь короче, чем от 7.4 до 8.x
PHP 7.4 и старше
- Нет патчей безопасности от разработчиков языка
- Новые версии модулей могут не устанавливаться
- Хостинг может отключить версию без вашего участия
- Скорость выполнения ниже, чем у современных веток
PHP 8.1 и новее
- Актуальные исправления безопасности
- Совместимость с текущими релизами Битрикс
- Заметный прирост скорости ответа сервера
- Предсказуемый путь обновления на годы вперёд
С чего начать: проверка системы и обновление платформы
Первое действие — выяснить, на чём вы сейчас работаете. Зайдите в админку: Настройки → Инструменты → Проверка системы. Отчёт покажет версию PHP, состояние расширений, параметры php.ini и замечания по окружению. Сохраните скриншот или текст отчёта: он пригодится для сравнения «до и после».
Второй шаг — версия самого Битрикса. Откройте раздел обновления платформы (Настройки → Обновление платформы) и установите все доступные обновления главного модуля и остальных модулей. Старое ядро может не поддерживать новую ветку PHP, а система обновлений на слишком свежем PHP способна вести себя непредсказуемо. Если сайт сильно отстаёт, обновляйте платформу поэтапно, делая бэкап перед каждым крупным шагом.
Отдельно составьте список всего, что не входит в стандартную поставку: сторонние решения из Маркетплейса, кастомные компоненты, шаблоны, обработчики событий в `init.php`, интеграции с 1С и платёжными системами. Именно здесь чаще всего находятся проблемы совместимости.
Пошаговый порядок обновления PHP
- 01
Проверьте текущее состояние. Откройте «Проверку системы», зафиксируйте версию PHP, версию главного модуля и список предупреждений. Отдельно проверьте версию PHP в консоли сервера командой php -v: агенты и cron работают через неё и могут использовать другую версию.
- 02
Сделайте полный бэкап. Выгрузите файлы сайта и дамп базы данных. Это можно сделать штатным инструментом Битрикса (Настройки → Инструменты → Резервное копирование) или средствами хостинга. Убедитесь, что архив скачан и открывается.
- 03
Обновите платформу и модули. Установите все доступные обновления ядра, а также обновите решения из Маркетплейса. Если разработчик модуля не выпустил версию под новый PHP, ищите замену заранее.
- 04
Разверните тестовую копию. Восстановите бэкап на отдельном домене или поддомене с тем же окружением, что и на боевом сайте. Закройте копию от индексации в Яндексе и Google, например, паролем или директивой в robots.txt.
- 05
Переключите PHP на копии и найдите ошибки. Включите вывод ошибок только на тестовой копии (параметр exception_handling в файле .settings.php) и пройдите по сайту. Исправьте устаревший синтаксис и функции, удалённые из новой версии языка.
- 06
Настройте php.ini и расширения. Сравните параметры старой и новой версии: лимит памяти, max_input_vars, opcache, часовой пояс. Убедитесь, что установлены нужные расширения, в том числе mbstring, gd, curl и модуль для закодированных решений, если они у вас есть.
- 07
Переключите PHP на боевом сайте. Выберите время с минимальной посещаемостью, сделайте свежий бэкап и смените версию в панели хостинга или меню виртуальной машины. Сбросьте кеш Битрикса и opcache.
- 08
Проверьте сайт и подготовьте откат. Пройдите чек-лист ключевых сценариев, посмотрите логи и убедитесь, что вы можете вернуть прежнюю версию PHP за пару минут. Следите за сайтом в течение суток.
Где именно менять версию PHP
Способ переключения зависит от того, где «живёт» ваш сайт. Универсальной кнопки нет: на виртуальном хостинге это пара кликов в панели, на виртуальной машине Битрикса — работа через консольное меню, а на собственном сервере — установка пакетов и правка конфигурации веб-сервера.
Ниже — сводка по самым частым вариантам. Если вы не уверены, какой из них ваш, уточните у хостинг-провайдера или посмотрите, какая панель стоит на сервере.
| Окружение | Где менять версию | На что обратить внимание |
|---|---|---|
| BitrixVM / BitrixEnv | Меню управления виртуальной машиной в консоли сервера | Сначала обновите саму виртуальную машину до актуальной версии |
| Виртуальный хостинг | Панель хостинга: раздел настроек сайта или PHP | Набор версий ограничен тарифом, переключение обычно занимает минуты |
| VPS или VDS с панелью (ISPmanager, Plesk) | Настройки PHP для конкретного домена в панели | Можно держать разные версии PHP для разных сайтов |
| Сервер без панели (Nginx или Apache и PHP-FPM) | Пакеты PHP-FPM и конфигурация виртуального хоста | Расширения и php.ini придётся настраивать вручную |
Как спланировать окно работ
Даже если переключение занимает две минуты, к нему стоит готовиться заранее. Для интернет-магазина и сайта с заявками простой — это потерянные деньги, поэтому выбирайте ночь или будний день с минимальным трафиком. Данные по часам посещаемости есть в Яндекс Метрике и Google Analytics.
Предупредите команду: контент-менеджеров, маркетологов, подрядчиков по интеграциям. На время работ стоит приостановить массовые импорты из 1С и запуск рекламных кампаний в Яндекс Директе и Google Ads, чтобы не платить за клики на недоступный сайт.
Аудит
Проверка версии ядра, модулей и кастомного кода
Тестовая копия
Прогон сайта на новой версии PHP, правка ошибок
Свежий бэкап
Файлы и база, проверка, что архив открывается
Переключение
Смена версии, сброс кеша и opcache
Проверка
Заказ, формы, админка, агенты, логи
Мониторинг
Ошибки 5xx, скорость, отчёты вебмастеров
Какие настройки php.ini нужны Битриксу
После смены версии PHP конфигурация часто «обнуляется»: новая ветка получает свой php.ini или пул PHP-FPM с настройками по умолчанию. Из-за этого сайт, который прекрасно работал вчера, сегодня ругается на нехватку памяти или теряет часть полей форм.
Сверьте следующие параметры с рекомендациями из «Проверки системы» и документации:
- memory_limit — достаточный лимит памяти для административной части и импортов (обычно не меньше 256–512 МБ для магазина); - max_input_vars — большое значение, иначе не сохранятся формы с множеством полей, например, свойства товаров; - opcache — включён и настроен, с достаточным числом кешируемых файлов и объёмом памяти; - date.timezone — задан явно, чтобы даты в заказах и агентах не «плыли»; - upload_max_filesize и post_max_size — достаточны для загрузки изображений и файлов; - расширения — mbstring, gd, curl, json, xml, zip и другие из списка требований Битрикс.
Учтите, что в PHP 8 удалены некоторые устаревшие директивы, например mbstring.func_overload. Если вы переносите старый конфиг «как есть», лишние параметры могут вызывать предупреждения. Для сайтов в кодировке windows-1251 тестовый прогон нужно делать особенно тщательно.
Типичные ошибки при смене версии PHP
Как делают неправильно
- Меняют версию сразу на боевом сайте без бэкапа
- Не обновляют ядро Битрикса и модули перед переключением
- Забывают про консольный PHP, из-за чего агенты и cron работают на старой версии
- Переносят старый php.ini без проверки параметров
- Оставляют включённый вывод ошибок на боевом сайте
Как правильно
- 01
Делать бэкап и тестировать всё на копии сайта
- 02
Сначала обновлять платформу и сторонние решения
- 03
Проверять версию PHP и в браузере, и в консоли (php -v)
- 04
Сверять настройки с «Проверкой системы» и документацией
- 05
Писать ошибки в лог и держать план отката под рукой
Что чаще всего ломается в коде
Если сайт собран на стандартных компонентах и свежих модулях, переход проходит спокойно. Проблемы начинаются в кастомной части: старых шаблонах, самописных компонентах, обработчиках событий и интеграциях, которые писали много лет назад.
В PHP 8 удалены или изменены многие конструкции, которые раньше «прощались». Например, исчезли функции `each()` и `create_function()`, обращение к символам строки через фигурные скобки, а ряд предупреждений стал исключениями. В ветке 8.1 внутренние функции начали предупреждать о передаче `null` в параметры, которые его не принимают. В 8.2 объявлено устаревшим создание динамических свойств у объектов. На практике это выглядит как «белый экран», ошибка 500 или поток предупреждений в логе.
Отдельная тема — модули, закодированные ionCube или аналогичными инструментами. Загрузчик должен соответствовать версии PHP, а сам модуль — поддерживать её. Если разработчик решения не выпускает обновления, потребуется замена или доработка.
Чтобы найти проблемы заранее, проверьте синтаксис файлов командой `php -l` на новой версии, прогоните сайт по основным разделам на тестовой копии и изучите лог ошибок. Это дешевле, чем разбирать последствия на боевом сервере.
Что проверить в первые 60 минут
- 01Главная, каталог и карточка товара открываются без ошибок
- 02Вход в админку и редактирование элемента в /bitrix/admin/
- 03Корзина, оформление заказа и оплата в тестовом режиме
- 04Формы обратной связи и отправка почтовых событий
- 05Агенты и cron: консольный php -v показывает нужную версию
- 06Поиск, умный фильтр и обмен с 1С
- 07Кеш Битрикса и opcache сброшены
- 08В логах PHP и веб-сервера нет новых ошибок
После обновления: мониторинг и SEO
Когда сайт переключён и базовые сценарии проверены, не закрывайте задачу сразу. В течение суток-двух следите за серверными ошибками: смотрите отчёты о доступности и ошибках индексирования в Яндекс Вебмастере и Google Search Console, а также данные о скорости и отказах в Яндекс Метрике и Google Analytics.
Если среди страниц появились ответы 5xx, значит, где-то остался несовместимый код, который не попался при тестировании. Исправьте его как можно быстрее: поисковые роботы Яндекса и Google при частых ошибках могут реже заходить на сайт. При стабильной работе обновление PHP на позиции негативно не влияет, а прирост скорости способен положительно сказаться на поведенческих показателях.
Итоги: безопасное обновление PHP в Битрикс
- 01
Проверьте версию PHP и ядра в разделе «Проверка системы»
- 02
Обновите платформу и сторонние модули до переключения
- 03
Сделайте бэкап и протестируйте новую версию на копии сайта
- 04
Сверьте php.ini и расширения с требованиями Битрикс
- 05
После переключения проверьте ключевые сценарии и отслеживайте ошибки в Вебмастере и Search Console
Если на сайте много кастомного кода, устаревшее ядро или закодированные модули, лучше поручить работу специалистам. Это сэкономит время и защитит бизнес от простоя. Хороший результат — сайт, который работает быстрее, безопаснее и спокойно получает обновления от разработчиков платформы.
Часто задаваемые вопросы
Берите версию, которую рекомендует документация вашей редакции и версии главного модуля. Для актуальных релизов это ветка PHP 8.1 и выше. Перед выбором посмотрите раздел «Проверка системы» в админке: он покажет, подходит ли окружение.
Откройте в админке Настройки → Инструменты → Проверка системы. Версия PHP указана в первых строках отчёта. Второй способ: создать временный файл с функцией phpinfo() и сразу удалить его после проверки. Версию для консоли показывает команда php -v.
Если у вас свежие версии ядра и модулей, можно. Если платформа старая, сначала обновите её до версии, которая поддерживает нужную ветку PHP. Для очень старых сайтов делайте это поэтапно: сначала платформа, затем PHP.
Сразу верните прежнюю версию PHP, чтобы восстановить работу сайта. Затем изучите лог ошибок PHP и веб-сервера на тестовой копии. Чаще всего причина в устаревшем коде шаблона, стороннем модуле или не подходящем расширении.
Напрямую нет, но косвенно может: быстрый сайт без ошибок 5xx индексируется стабильнее. После переключения следите за отчётами в Яндекс Вебмастере и Google Search Console, чтобы вовремя заметить серверные ошибки.
Доверьте обновление PHP на Битрикс специалистам без простоя сайта
Проверим совместимость модулей, подготовим тестовую копию и переключим версию PHP в удобное для бизнеса окно
Спасибо за заявку!
Мы свяжемся с вами в ближайшее время.
Сначала тест, потом боевой сайт



