Переводим сайты на Битриксе на php 8.1

Знаем проблемы и ошибки, перевод по процедуре и с гарантией успеха
Перевод сайта на новую версию PHP рекомендован вендором.

Поддержка 1С-Битрикс и коробочной версии Битрикс24 на PHP версии ниже 8.0 ограничена с 1 февраля 2023 г.

С 1 мая 2023 установить обновление продукта не получится без перехода на php 8.0 или 8.1.

Вы не сможете получить исправления ошибок безопасности и багов системы.

Порядок действий при переходе на php 8.1

1
Аудит вашего сайта
Смотрим какие модули установлены на вашем сайте, есть ли у них обновления для php 8.x, проводим аудит ресурса.
2
Создание копии, обновление Битрикса, обновление php
Создаем тестовую копию вашего сайта, обновляем сначала Битрикс до финальной версии, после обновляем php.
3
Тестирование и исправление ошибок
Проводим тестирование сайта по чек-листу, тестируем доработки, готовим исправления. Повторно тестируем после исправления ошибок. Фиксируем состав нужных исправлений.
4
Перевод продуктивной версии
Передаём вам бэкап Битрикса или делаем релиз через систему контроля версий. Далее тестируем изменения и обновляем версию php на продуктивном сервере.

Повторно тестируем по чек-листу.
Этот порядок действий отработан нами на реальных кейсах перевода сайта на новую версию php.

Типичные ошибки при переходе на новую версию php


1

Вызов нестатических методов статическим способом

На скриншоте показано, как ошибку подсвечивает phpstorm.

2

Неверное объявление обработчиков событий (объявлены динамически, а вызываются статически)

Технически тоже самое, что и пункт выше. Метод обработчика событий вызывается статически, при этом сам обработчик статически не объявлен. Решается аналогично предыдущему пункту.

3
Передача аргументов неверного типа (в in_array() или count() вместо массива попадает null)
Начиная с php 8.0 если в in_array() или count() вместо массива попадёт null это приведёт к ошибки скрипта. В случае с in_array() решается написанием проверки is_array(). В случае с count() можно использовать empty().

4

Неверные типы данных при операциях в ядре Битрикса

Вследствие перехода на php 8, ситуация, в которой один из аргументов являлся числом, а другой — строкой, стала обрабатываться строже чем в более ранних версиях. Теперь вместо предупреждения о нечисловом аргументе php выбрасывает фатальную ошибку. Для решения проблемы необходимо привести аргументы к единому типу.

5

Использование устаревших функций (например, each(), которые были удалены)

Начиная с версии php 8.0 была удалена функция each(). PHPStorm предупреждает, что функция устарела ещё с версии php 7.2 и была удалена в php 8.0

6

Использование устаревшего синтаксиса

Иногда встречается старый синтаксис php, который был объявлен как устаревший в php 7.4 и удалён в новой версии. К примеру, использование фигурных скобок для обращения к элементам массива приводит к такой ошибке.

7
Прекращение поддержки обратного порядка аргументов функции implode()
Встречается редко, но с php 8.0 implode() больше не поддерживает обратный порядок аргументов, что приводит к ошибке скрипта. Решение — передать аргументы функции в правильном порядке.

Почему переход лучше доверить ИНТЕРВОЛГЕ

  • Наши разработчики сертифицированы вендором 1С-Битрикс;
  • Мы умеем сложные доработки и разбираемся в чужом коде;
  • Сделали отработанную процедуру — не экспериментируем на вашем проекте;
  • Имеем все существующие компетенции по 1С-Битрикс и Битрикс24, это подтверждено вендором;
  • Входим в топ 15 команд, отмеченных компетенцией Enterprise;
  • Нас рекомендуют клиенты и коллеги;
  • Больше десятка переводов сайтов на Битрикс на php 8.1 / 8.0 в живых проектах.

Партнеры, обновившие PHP

Компании, обновившие язык платформы, чтобы повысить производительность проектов, убрать «костыли» и не подвергать данные опасности.

Сколько стоит перевод сайта Битрикс на php 8.1

Зависит от степени доработанности вашего сайта
52 500 руб.
Простые ресуры, например, корпоративный сайт или простейший интернет-магазин
Связаться с экспертом
87 500 руб.
Сайты на Битрикс со сложными доработками логики (например, развитые интернет-магазины)
Связаться с экспертом
140 000 руб.
Сложные ресурсы (b2b личные кабинеты, маркетплейсы, сайты с большим количеством интеграций)
Связаться с экспертом
Остались вопросы? Обсудите с экспертом
Нажимая кнопку «Отправить», я даю свое согласие на обработку моих персональных данных, в соответствии с Федеральным законом от 27.07.2006 года №152-ФЗ «О персональных данных», на условиях и для целей, определенных в Согласии на обработку персональных данных
Хотите получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишитесь на рассылку — спамить не будем