
Версия PHP напрямую влияет на скорость выполнения кода, объем потребляемой памяти и совместимость модулей 1C-Битрикс. Начиная с редакций ядра 20.x, система корректно работает с PHP 7.4 и 8.0, а для новых проектов производитель рекомендует PHP 8.1. Использование устаревших веток 7.1–7.2 приводит к ошибкам в компонентах, сбоям кэша и невозможности обновления модулей через административную часть.
Обновление PHP на сервере с Битрикс нельзя выполнять «вслепую». Перед сменой версии требуется проверить совместимость ядра, установленных модулей и пользовательского кода. Для этого используется встроенный инструмент Проверка системы, а также тестовый запуск сайта на новой версии PHP через настройки хостинга или отдельный PHP-handler. Игнорирование этого этапа часто заканчивается фатальными ошибками из-за строгой типизации и удалённых функций.
Процедура обновления отличается в зависимости от окружения: виртуальная машина BitrixVM, shared-хостинг с панелью управления или выделенный сервер с Apache/Nginx и PHP-FPM. В каждом случае меняется способ выбора версии PHP, путь к конфигурационным файлам и порядок перезапуска сервисов. Неправильная настройка PHP-FPM или CLI-версии приводит к ситуации, когда сайт работает на одной версии, а агенты и cron – на другой.
Отдельного внимания требует настройка параметров memory_limit, max_execution_time и opcache после обновления. Значения, подходившие для PHP 7.x, не всегда дают ожидаемый результат на PHP 8.x. Корректная конфигурация позволяет сократить время генерации страниц и снизить нагрузку на сервер без изменений в коде проекта.
Проверка текущей версии PHP и требований Битрикс

Определение версии PHP на сервере – обязательный этап перед обновлением. На большинстве хостингов это можно сделать через команду php -v в SSH или просмотром информации в панели управления. Для сайтов на BitrixVM достаточно открыть /bitrix/admin/system_check.php, где отображаются текущая версия PHP, доступные модули и ограничения конфигурации.
Система 1С-Битрикс предъявляет конкретные требования к версии PHP для разных редакций ядра. Для редакции «Стандарт» и «Малый бизнес» минимально поддерживаются версии 7.4 и 8.0, а для новых проектов с ядром 21.x оптимально использовать PHP 8.1. Несоответствие версии приводит к ошибкам при установке обновлений модулей и сбоев в работе компонентов, использующих новые функции языка.
Важным является анализ установленных расширений PHP. Bitrix требует наличие gd, mbstring, curl, json, mysqli, zip и xml. Их отсутствие или несовместимость с текущей версией PHP блокирует работу административной части и корректную генерацию страниц. Проверка выполняется через phpinfo() или встроенный тест системных требований в админке.
Дополнительно проверяют параметры конфигурации: memory_limit, max_execution_time, post_max_size и upload_max_filesize. Для крупных проектов рекомендуются memory_limit ≥ 512M, max_execution_time ≥ 60, upload_max_filesize ≥ 50M. Несоблюдение этих значений замедляет выполнение скриптов и приводит к таймаутам при обновлениях.
Создание резервной копии сайта и базы данных перед обновлением PHP
Перед обновлением PHP необходимо создать полную резервную копию файлов сайта и базы данных. Для файлов рекомендуется использовать архивирование через tar или zip, включая директорию /bitrix, /upload и /local. Это гарантирует сохранность ядра, модулей и пользовательских компонентов.
Резервное копирование базы данных выполняется через mysqldump или аналогичные инструменты хостинга. Для MySQL команда выглядит как mysqldump -u пользователь -p база > backup.sql. Необходимо проверить, что dump содержит все таблицы, включая b_user, b_option и таблицы модулей, чтобы при откате восстановление было полным.
После создания резервной копии проверяют целостность файлов и базы данных. Для архива файлов – успешное распаковка тестовой копии, для SQL – импорт в тестовую базу. Рекомендуется хранить копию на отдельном сервере или в облачном хранилище, чтобы защитить данные от сбоев на основном сервере.
Важно фиксировать дату и версию PHP перед резервированием. Это позволяет при необходимости откатить сайт к исходному состоянию, сохранив совместимость с текущей версией ядра Битрикс и установленными модулями. Только после полной проверки резервной копии переходят к обновлению PHP.
Выбор подходящей версии PHP для конкретной редакции Битрикс
Выбор версии PHP зависит от редакции ядра Битрикс и используемых модулей. Для редакций 20.x совместимы PHP 7.4 и 8.0, при этом PHP 8.0 требует обновления всех стандартных модулей и проверенного пользовательского кода. Для редакций 21.x и выше оптимально использовать PHP 8.1, так как предыдущие версии могут вызвать ошибки из-за новых функций языка и строгой типизации.
При выборе версии учитывают используемые сторонние компоненты. Многие устаревшие модули и кастомные решения могут работать только на PHP 7.4. В таких случаях целесообразно тестировать сайт на отдельной среде с новой версией PHP перед обновлением основного сервера. Для проверки используют тестовый PHP-handler или виртуальную копию проекта.
Также обращают внимание на поддержку расширений и настроек PHP. Для корректной работы Битрикс необходимо наличие gd, mbstring, curl, mysqli, json, xml и zip, а параметры memory_limit и max_execution_time должны соответствовать нагрузке проекта. Новые версии PHP улучшают производительность, но требуют актуальной конфигурации.
После выбора версии PHP необходимо согласовать её с настройками веб-сервера и CLI. Разные версии PHP для веб и командной строки могут вызвать неконсистентность при работе агентов и cron. Оптимальная практика – использовать одну версию для всех процессов, чтобы исключить ошибки выполнения скриптов.
Смена версии PHP на хостинге через панель управления
На большинстве современных хостингов смена версии PHP выполняется через панель управления, например cPanel, ISPmanager или Plesk. Процесс включает несколько этапов:
- Вход в панель управления и переход в раздел Настройки PHP или Версия PHP.
- Выбор домена или поддомена, для которого требуется изменить версию.
- Выбор необходимой версии PHP из списка доступных, например 7.4, 8.0 или 8.1.
- Применение изменений и проверка, что версия PHP обновилась для веб-сервера и CLI.
После смены версии следует проверить наличие всех необходимых расширений:
- gd – для работы с изображениями;
- mbstring – для корректной работы строковых функций;
- curl – для внешних запросов;
- mysqli – для соединения с базой данных;
- json, xml, zip – для стандартных операций Битрикс.
После обновления версии PHP рекомендуется:
- Перезапустить веб-сервер или PHP-FPM;
- Проверить работу сайта на тестовом URL или временной копии;
- Просмотреть системные логи на наличие ошибок, связанных с устаревшими функциями или расширениями.
Смена версии через панель управления позволяет обновить PHP без прямого доступа к серверу и минимизировать риск сбоев при корректной проверке модулей и параметров конфигурации.
Настройка параметров PHP для корректной работы Битрикс

После обновления версии PHP критически важно настроить параметры конфигурации для стабильной работы сайта на Битрикс. Основные настройки включают:
- memory_limit – рекомендуется ≥ 512M для крупных проектов, чтобы предотвратить ошибки при обработке больших массивов данных и генерации страниц.
- max_execution_time – оптимальное значение ≥ 60 секунд, особенно при работе с обновлениями модулей и cron-скриптами.
- post_max_size и upload_max_filesize – задаются ≥ 50M для корректной загрузки файлов через административную часть и формы сайта.
- opcache.enable и opcache.memory_consumption – включение и выделение ≥ 128M ускоряет работу сайта за счёт кэширования байт-кода.
- error_reporting – рекомендуется включить E_ALL для тестового окружения, чтобы выявлять устаревшие функции и предупреждения PHP 8.x.
Настройку выполняют через php.ini, .user.ini или панель управления хостинга. После внесения изменений обязательно:
- Перезапустить веб-сервер или PHP-FPM;
- Проверить корректность работы административной части и пользовательских страниц;
- Просмотреть логи bitrix/modules/main/logs и системные ошибки PHP для выявления конфликтов.
Правильная конфигурация PHP снижает вероятность таймаутов, ошибок памяти и некорректной работы модулей, обеспечивая стабильную работу сайта после обновления версии PHP.
Проверка сайта и админки Битрикс после обновления PHP

После смены версии PHP необходимо убедиться, что все функциональные элементы сайта и административной панели работают корректно. Проверка включает тестирование страниц, модулей и интеграций, а также анализ логов ошибок PHP.
Для систематической проверки удобно использовать таблицу контроля:
| Элемент | Что проверить | Рекомендованное действие при ошибке |
|---|---|---|
| Главная страница | Загрузка без ошибок, корректное отображение контента и блоков | Проверка кода шаблона и совместимости с PHP 8.x |
| Админка | Открытие всех разделов, работа редактирования и обновлений модулей | Анализ логов /bitrix/admin/event_log.php, исправление устаревших функций |
| Формы и загрузка файлов | Работа форм, загрузка изображений и документов | Проверка параметров upload_max_filesize и post_max_size |
| Агенты и cron | Выполнение скриптов по расписанию | Убедиться, что CLI использует ту же версию PHP, что и веб-сервер |
| Сторонние модули | Корректная работа всех плагинов и компонентов | Обновление модулей или замена на совместимые версии |
Дополнительно следует проверить логи PHP и Bitrix на наличие предупреждений и ошибок, связанных с удалёнными функциями, строгой типизацией и несовместимыми расширениями. После подтверждения корректной работы сайта и админки обновление PHP можно считать завершённым.
Устранение типовых ошибок Битрикс после смены версии PHP

После перехода на PHP 8.x часто возникают фатальные ошибки из-за удаления устаревших функций. Наиболее распространённый случай – вызовы each(), create_function(), ereg*. Такие участки встречаются в старых шаблонах и кастомных модулях. Решение – заменить код на актуальные конструкции, например циклы foreach и анонимные функции.
Предупреждения уровня Deprecated и Warning появляются из-за строгой типизации. Типовые примеры: передача null в strlen(), count() или работу с массивами без проверки типа. Исправляется добавлением явных проверок is_array(), isset() и приведением типов перед вызовом функций.
Ошибка подключения к базе данных после обновления PHP чаще всего связана с отсутствием или отключением расширения mysqli. Необходимо проверить список загруженных модулей PHP и убедиться, что используется именно mysqli, а не устаревший mysql, который полностью удалён из PHP 8.x.
Некорректная работа административной части нередко связана с несоответствием версии PHP для веб-сервера и CLI. В результате агенты и cron-скрипты выполняются на другой версии PHP и завершаются с ошибками. Решение – проверить путь интерпретатора в cron и синхронизировать версии PHP для всех процессов.
Если после обновления появляются белые страницы без сообщений об ошибках, необходимо временно включить отображение ошибок через display_errors или логирование в файл. Это позволяет быстро определить проблемный файл или модуль и устранить несовместимость без отката версии PHP.
Вопрос-ответ:
Можно ли обновить PHP на сайте Битрикс без остановки работы сайта?
Да, при правильной подготовке это возможно. На хостингах с поддержкой выбора версии PHP для домена можно переключить версию без перезагрузки сервера. На VPS или выделенном сервере используют установку новой версии PHP параллельно старой и переключение PHP-FPM или handler после проверки. Перед этим обязательно делают резервную копию и тестируют сайт на новой версии через временный handler или копию проекта.
Почему после обновления PHP сайт открывается, а админка Битрикс выдаёт ошибки?
Чаще всего причина связана с пользовательским кодом или сторонними модулями, которые не совместимы с новой версией PHP. Административная часть активнее использует строгую типизацию, работу с массивами и строками. Следует проверить логи PHP и файлы в /bitrix/php_interface, а также обновить все модули через Marketplace перед сменой версии PHP.
Какая версия PHP подходит для старого проекта на Битрикс?
Для проектов на ядре 18–20 обычно используют PHP 7.4, так как многие старые шаблоны и модули не готовы к PHP 8.x. Если требуется обновление PHP из-за поддержки хостинга, сначала обновляют ядро Битрикс и модули, затем тестируют работу на PHP 8.0 или 8.1 в отдельной среде.
Почему после обновления PHP перестали работать агенты и cron?
Причина в том, что cron часто использует CLI-версию PHP, которая может отличаться от версии для веб-сервера. После обновления PHP необходимо проверить путь к интерпретатору в заданиях cron и убедиться, что используется та же версия PHP, что и для сайта. Несовпадение версий приводит к ошибкам выполнения агентов и задач импорта.
