Ищете digital-подрядчика? Выберите его самостоятельно или организуйте тендер, чтобы определить лучшего.
Назад
Веб-разработка

Как поднять версию PHP для сайта на 1С-Битрикс

91 
 

Мы - MONOPLAN. Студия классической веб-разработки с глубоким пониманием отраслевой специфики и развитой инженерной культурой.

Мы создаём корпоративные сайты, e-commerce решения, личные кабинеты и сложные интеграции, которые становятся частью устойчивой цифровой инфраструктуры компании.

Обновление PHP для Bitrix — это не просто переключение версии PHP на сервере. Это процесс, который затрагивает ядро CMS, модули, кастомный код, интеграции и серверное окружение. Поэтому задача требует методичности и подготовки.

Пошаговый план

Шаг 1. Поднять копию проекта (тестовый стенд)

Никогда не обновляйте PHP «на живую».

Необходимо поднять копию проекта:

  • Копия файлов
  • Копия базы данных
  • Окружение максимально близкое к боевому (nginx / Apache, PHP-FPM)
По возможности в тестовый стенд должны входить копии интегрированных систем: копия базы 1С, CRM, платёжные шлюзы. Если какой-то сервис не имеет тестового режима — обязательно отключить его от копии сайта до момента проверок, связанных с этим сервисом. Антон Носков, техдир MONOPLAN

Все работы выполняются сначала на копии и только потом — на продакшене.

Шаг 2. Включить максимальный уровень логирования ошибок

На тестовом окружении:

error_reporting(E_ALL); display_errors = On; log_errors = On;

Дополнительно включить режим отладки Битрикс:

  1. Открыть файл /bitrix/.settings.php
  2. Найти секцию exception_handling
  3. Установить значение debug = true

Цель — увидеть всё, что ломается при новой версии PHP.

Типовые проблемы:

  • На PHP 8 падают старые компоненты (особенно component.php с массивами)
  • Ломаются конструкции each(), create_function, старые вызовы mysql_*
  • Многие кастомные классы не совместимы с исключениями PHP 8

Шаг 3. Проверить совместимость версии Bitrix с новой версией PHP и обновиться

1С-Битрикс официально публикует таблицу совместимости.

Ориентиры:

  • PHP 7.4 — поддерживается большинством старых версий
  • PHP 8.0 / 8.1 — поддержка появилась в новом ядре + D7
  • PHP 8.2+ — требуется последняя редакция ядра

Действия:

  • Проверить, обновлено ли ядро 1С-Битрикс до последней версии
  • Обновить все модули, включая Main и Fileman
  • Проверить сторонние модули — многие старые не работают на PHP 8

После этого поднять версию PHP и ещё раз обновить Битрикс и модули. Если ошибки не позволяют добраться до обновления — их придётся исправлять на уровне кода.

Важно: сначала обновиться до максимально возможной версии ядра и модулей на текущей версии PHP, и только потом менять настройки сервера. Антон Носков, техдир MONOPLAN

При использовании Composer необходимо обновить зависимости до продолжения работ.

Шаг 4. Пройтись по всему кастомному коду


Разместите
тендер бесплатно

Наша система сама подберет вам исполнителей на услуги, связанные с разработкой сайта или приложения, поисковой оптимизацией, контекстной рекламой, маркетингом, SMM и PR.

Заполнить заявку 13223 тендера
проведено за восемь лет работы нашего сайта.


Проверить:

  • /local/components/
  • /local/php_interface/
  • Кастомные модули
  • Интеграции
  • Скрипты импорта / экспорта
  • CRON-задачи
  • устранение старых технических ошибок

Чаще всего ошибки возникают из-за:

  • некорректной типизации
  • передачи null вместо строк
  • использования устаревших функций
  • warnings, которые в PHP 8 превращаются в fatal

Шаг 5. Проверить работу стандартного функционала

Подключить тестировщика и пройтись по чек-листу:

  • Авторизация / регистрация
  • Оформление заказа (для e-commerce)
  • Фильтры каталога
  • Поиск
  • Личный кабинет
  • Формы обратной связи
  • REST API и внешние интеграции
  • Админка Bitrix (часто ломаются разделы)

Шаг 6. Проверить CRON и интеграции

Критично для e-commerce и промышленных проектов.

  • Обмены с 1С
  • XML / CSV-импорты
  • Выгрузки в маркетплейсы
  • Синхронизацию цен и остатков
  • Интеграции с ERP, WMS, CRM
  • Формы обратной связи
  • REST API и внешние интеграции
  • Админка Bitrix (часто ломаются разделы)

Шаг 7. Проверить шаблоны и компоненты из /bitrix/templates/

Шаблоны часто содержат старые вызовы, не совместимые с PHP 8.

Проверить:

  • Подключение файлов через require_once
  • Вызовы функций в шаблонах
  • Старые компоненты в режиме 1.0
  • Передачу массивов в компоненты
  • Личный кабинет
  • Формы обратной связи
  • REST API и внешние интеграции
  • Админка Bitrix (часто ломаются разделы)

Шаг 8. Протестировать производительность

После обновления PHP сайт почти всегда работает быстрее.

Проверить:

  • Время генерации страницы
  • Нагрузку на CPU
  • Работу кеша
  • Количество запросов к базе

Шаг 9. Перед выкладкой — повторная проверка боевого окружения

Убедиться, что:

  • нет сторонних ограничений на сервере
  • обновлены расширения PHP (intl, mbstring, opcache, gd, zip)
  • обновлена версия MySQL
  • корректно настроен PHP-FPM

Шаг 10. Обновление на бою

Последовательность действий:

  1. Сделать полный бэкап файлов и базы данных, при возможности — снапшот
  2. Перевести сайт в режим технических работ
  3. Переключить PHP на новую версию, обновить зависимости Composer
  4. Раскатить заранее подготовленные правки кода из системы контроля версий
  5. Очистить и «прогреть» кэш
  6. Проверить ключевые сценарии
  7. Снять режим технических работ

При корректной подготовке downtime составляет от 3 до 10 минут.

Что должно получиться в итоге

После успешного обновления PHP сайт получает:

  • прирост производительности на 20–40%
  • улучшенную безопасность
  • снижение нагрузки на сервер
  • корректную работу модулей Битрикса
  • возможность дальнейших обновлений
  • стабильную интеграцию с современными сервисами
  • устранение старых технических ошибок

По сути — сайт становится быстрее, стабильнее и безопаснее без изменения логики.

Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.




91

Лучшие статьи

Поделиться: 0 0 0
Лайки за кейсы:  1 Подписчики:  0