Сергей Сорокин · Среда работы сайта
Обновление PHP на сайте с Битриксом: подготовка и проверка
Опубликовано
PHP выполняет код сайта на сервере, в том числе оформление заказа и отправку писем. В условном примере после смены версии главная страница открывается, а расчет доставки в корзине выдает ошибку. Проверка главной не затронула код, который рассчитывает доставку. Чтобы принять обновление, нужно проверить действия покупателей и работу подключенных сервисов.
Узнайте, какая версия PHP работает на сайте
Текущую версию PHP можно посмотреть в административной части Битрикса. Откройте «Настройки» → «Инструменты» → «Диагностика» → «Настройки PHP». В начале страницы указана версия PHP, на которой работает административная часть сайта. Если раздел недоступен, попросите администратора посмотреть версию.
Способ переключения PHP уточните у хостинга или администратора. На виртуальном хостинге версию может выбирать владелец в панели; на собственном сервере среду настраивает администратор. Если на сервере размещено несколько сайтов, заранее выясните, затронет ли смена версии остальные.
Отдельно уточните, на какой версии PHP выполняются задания по расписанию, например обработка очереди писем или выгрузка каталога. Такие задания могут запускаться через командную строку, независимо от обработки страниц в браузере. Версия в панели хостинга или административной части Битрикса не подтверждает версию этих запусков.
Попросите исполнителя записать версии и настройки обоих способов запуска, включая подключенные расширения PHP. Расширения PHP нужны, например, для работы с базой данных и обработки изображений. Их состав зависит от сайта. После смены версии нужное расширение должно оставаться доступным там, где его использует код.
Выберите версию по совместимости и сроку поддержки
На 14 октября 2026 года минимальные требования «1С-Битрикс: Управление сайтом» указывают PHP 8.2; в подробной документации производитель рекомендует PHP 8.4 и выше. Эти требования относятся к актуальному продукту. Они не подтверждают совместимость старого установленного Битрикса, шаблона и сторонних модулей с выбранной версией.
Версии PHP 8.2 и PHP 8.4 называют ветками языка. Для каждой разработчики устанавливают срок поддержки. Во время активной поддержки они исправляют ошибки и проблемы безопасности. Затем выходят исправления критических проблем безопасности, после чего поддержка ветки заканчивается. На ту же дату PHP 8.2 получает такие исправления до 31 декабря 2026 года. Для PHP 8.4 активная поддержка продолжается до 31 декабря 2026 года, исправления безопасности до 31 декабря 2028 года.
Если исполнитель предлагает PHP 8.2, уточните причину и дальнейший переход до окончания поддержки этой ветки. Для более новой версии тоже нужно подтверждение совместимости сайта. В задании укажите выбранную ветку PHP. Попросите установить последнее доступное в вашем окружении обновление этой ветки.
Проверьте ядро, решение, модули и доработки
Попросите разработчика составить список установленных версий Битрикса, готового решения и сторонних модулей. Для каждой части нужны требования производителя к выбранному PHP. Собственный код и библиотеки проверяют отдельно. Если основная часть Битрикса (ядро) поддерживает выбранную версию PHP, это не подтверждает совместимость обработчика формы, расчета цены или подключенного модуля оплаты.
При переходе могут измениться правила языка, доступность устаревших возможностей и расширений. Разработчик сверяет код с руководствами PHP по переходу между версиями. Если на сайте используют инструмент Composer для установки PHP-библиотек, разработчик также проверяет требования этих библиотек к версии PHP и расширениям в будущем окружении сайта.
По результату станет понятно, какие части сайта нужно обновить или исправить до переключения. Попросите разработчика определить порядок этапов с учетом совместимости. Для старого сайта этот порядок может включать переход через промежуточные версии Битрикса или PHP. Обновление Битрикса, модулей и смену PHP распишите отдельными этапами, чтобы было понятно, после какого изменения появилась ошибка.
Подготовьте тестовую копию с нужной средой
До работ сохраните файлы, базу данных и настройки окружения. Проверьте, что из этой копии можно восстановить сайт. Наличие архива в панели не подтверждает успешное восстановление. Если порядок восстановления еще не проверен, начните с него.
Тестовую копию подготовьте на выбранном PHP с нужными расширениями и настройками. В ней должны быть те версии кода и модулей, которые планируется перенести на рабочий сайт. Попросите администратора сверить среду копии с будущей рабочей средой; проверка в произвольном локальном окружении не подтверждает работу на вашем сервере.
Закройте тестовую копию от посетителей и поисковых систем. До запуска отключите рабочую отправку писем и сообщений, реальные платежи и обмены с учетной системой 1С или системой работы с клиентами (CRM). Для проверки подключите тестовые адреса и предусмотренные сервисами тестовые режимы. Учтите задания по расписанию: восстановленная копия не должна начать отправлять рабочие уведомления или менять остатки.
Проверьте действия покупателя и обработку данных
Составьте список проверок по функциям вашего сайта и пройдите его на тестовой копии. Сравнивайте результат с тем, как сайт должен работать. Для интернет-магазина включите следующие сценарии.
- Найдите товар через поиск и фильтр. Откройте карточку, выберите нужный вариант и проверьте цену, наличие и изображения.
- Добавьте товар в корзину, измените количество и примените предусмотренную скидку. Сверьте сумму, расчет доставки и итог заказа.
- Оформите заказ с тестовыми данными. Проверьте его запись в административной части, состав, сумму и статус. Если используется онлайн-оплата, проверьте тестовую оплату и обработку ответного уведомления платежного сервиса.
- Отправьте форму на согласованный тестовый адрес. Проверьте сохранение обращения, если оно предусмотрено, и получение письма в ящике. Сообщение об успешной отправке на странице не доказывает доставку письма.
- Войдите в личный кабинет и откройте предусмотренные для него разделы. Проверьте выход и восстановление доступа на тестовом адресе.
- Проведите согласованный тест обмена с 1С или CRM. Сверьте изменения товара и запись заказа в нужной системе по функциям вашего обмена. Проверьте также задания по расписанию и создаваемые ими файлы или записи.
Сохраните результаты и исправьте найденные ошибки
Если какая-то функция не прошла проверку, запишите адрес страницы, действие и полученный результат. Например, какой вариант товара и способ доставки выбраны, какая сумма ожидалась и что показала корзина. Разработчику будет проще повторить ошибку с теми же данными.
Попросите разработчика проверить журнал ошибок PHP после этих действий. Код может выводить предупреждения, даже когда страница внешне работает. Журнал помогает найти несовместимые вызовы и места, которые пока не привели к видимому сбою. Отключение вывода ошибок посетителям само по себе их не исправляет.
После исправления повторите затронутый сценарий и связанные с ним действия. Если менялся расчет цены, снова проверьте карточку, корзину и запись заказа. Непроверенную оплату или обмен отметьте как оставшуюся проверку, а не как успешно работающую функцию.
Согласуйте переключение и условия возврата
После приемки копии назначьте время переноса проверенных изменений и смены PHP на рабочем сайте. Согласуйте, кто выполняет работы, кто проверяет сайт и как покупатели узнают о временной недоступности, если она потребуется. Перед переключением обновите резервную копию и подтвердите, что исполнитель может вернуть прежнее окружение.
Определите, при каких сбоях нужно возвращаться. Для магазина это могут быть невозможность оформить заказ, неверный итог или остановка обязательного обмена. Если меняется только PHP, возврата прежней версии и настроек может хватить. Если вместе с ним менялись код или база данных, заранее согласуйте совместимый комплект для восстановления.
Отдельно решите, как сохранить заказы, заявки и другие изменения, появившиеся во время работ. Восстановление старой базы целиком заменит более новые данные. Если магазин продолжает принимать заказы, исполнитель должен предусмотреть их сохранение и сверку. При необходимости согласуйте паузу в приеме заказов и обменах до начала работ.
На виртуальном хостинге используйте способ переключения, предусмотренный провайдером. На сервере с BitrixVM поручите смену PHP администратору, который учитывает версию окружения и порядок его обслуживания. Команда из инструкции для другого сервера может затронуть иные пакеты или все размещенные сайты. Универсальной команды для этих окружений нет.
Примите работу сайта после переключения
Проверьте фактическую версию PHP для страниц и заданий по расписанию, затем повторите согласованные сценарии уже в рабочей среде. Для действий, которые создают заказ, письмо, платеж или обмен, заранее определите безопасные данные и порядок проверки. Убедитесь, что временные тестовые настройки не остались вместо рабочих.
Попросите подтвердить запуск очередного задания по расписанию и его результат. Если оно должно создать файл выгрузки, проверьте обновление файла; если обработать очередь, проверьте нужную запись и результат передачи.
Если цель включала ускорение сайта, сравните одинаковые действия и условия до и после перехода. Новая версия PHP не гарантирует ускорения вашего магазина: время ответа зависит также от запросов к базе, кода и внешних сервисов. Замер скорости нужен отдельно от проверки совместимости.
Документация к выбору и смене PHP
- 1С-Битрикс: просмотр настроек PHP в административной части ↗
- 1С-Битрикс: минимальные требования «Управления сайтом» ↗
- 1С-Битрикс: рекомендуемая версия PHP и расширения ↗
- PHP: сроки поддержки версий ↗
- PHP: руководства по переходу между версиями ↗
- PHP: особенности запуска из командной строки ↗
- PHP: выбор файла конфигурации при разных способах запуска ↗
- Composer: проверка требований установленных библиотек ↗
- 1С-Битрикс: смена PHP средствами BitrixVM 9 ↗
