Переводим сайты на Битриксе на php 8.1
Знаем проблемы и ошибки, перевод по процедуре и с гарантией успеха
Перевод сайта на новую версию PHP рекомендован вендором.
Поддержка 1С-Битрикс и коробочной версии Битрикс24 на PHP версии ниже 8.0 ограничена с 1 февраля 2023 г.
С 1 мая 2023 установить обновление продукта не получится без перехода на php 8.0 или 8.1.
Вы не сможете получить исправления ошибок безопасности и багов системы.
Поддержка 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 раз в месяц?
Подпишитесь на рассылку — спамить не будем