Главная → Портфолио → WEB-разработка → Web-программирование → Отладка и исправление кастомизированных компонентов сайта для php8

Отладка и исправление кастомизированных компонентов сайта для php8

Отладка большого количества кастомизированных компонентов и модулей интернет-магазина после перехода на php 8.2 и обновления ядра Битрикс до последней актуальной версии
Опубликовано: Июль 2023
Один из крупнейших специализированных магазинов снаряжения для спорта и туризма
Нужен похожий проект?
Отладка и исправление кастомизированных компонентов сайта для php8

1Цели и задачи

К нам обратился один из крупнейших в России специализированных магазинов снаряжения для горнолыжного спорта и сноубординга, всех видов туризма, кемпинга и путешествий, альпинизма и скалолазания, бега и мультигонок sport-marafon.ru с проблемой - на тестовой площадке после попытки переключиться на php 8.1 и обновить ядро Битрикс сыпались ошибки всевозможных модулей и сайт был полностью неработоспособен. С первого взгляда задача выглядела достаточно объемной, в связи с этим ИТ-отдел интернет-магазина обратился к внешнему подрядчику за ее решением. Дополнительной сложностью являлся многолетний "багаж" разработок на живом проекте - многие модули и компоненты уже не имели обновлений под новую версию php от вендоров и их обновлением или заменой также пришлось заниматься самостоятельно.

2Аналитика и первая итерация исправлений

Из-за большого объема работы и непрогнозируемых трудозатрат процесс отладки и обновления было решено проводить итеративно. На первой итерации обновили ядро Битрикс, устранили ошибки модулей\библиотек блокирующих работоспособность Административной панели, выявили и составили первичный перечень ошибок пользовательской части сайта. Выяснилось, что ошибки несовместимости в компонентах и классах библиотек частично блокируют отображение и функционал пользовательского интерфейса сайта. Также из-за большого объема данных в таблице БД при обновлении модуля Интернет-магазин (sale) стандартный сценарий обновления таблиц БД не успевает отрабатывать и падает по таймауту.
По результатам данной итерации удалось оживить административный раздел сата на php 8.1 и обновить версию ядра Битрикс до 22.5. Публичная часть осталась частично неработоспособной и все ошибки были формализованы и сформированы в новый список работ.

Отладка и тестирование интернет-магазина на 1С-Битрикс sport-marafon.ru после перехода на php 8.2
Часть форм и интерактивных сценариев пользователей также были протестированы и выявлены и формализованы ошибки функционала.

Отладка и тестирование интернет-магазина на 1С-Битрикс sport-marafon.ru после перехода на php 8.2

3Исправление основных ошибок

После исправления критических ошибок наши специалисты продолжили тестирование и отладку критического пути пользователя - главная, поиск, страницы каталога, избранное, детальная карточка товара, добавление в корзину и оформление заказа, личный кабинет. Статичные страницы также были проверены. Многие компоненты использовали шаблонизатор Twig.
Были выявлены следующие проблемы:
  • Ошибка при отправке форм обратной связи
  • Восстановление работоспособности шаблонизатора Twig. Обновление composer расширения.
  • Рефакторинг и восстановление работоспособности сервиса Избранное
  • Страница конкретной статьи блога не работает, падает по таймауту.
  • Ошибки микрофреймворка Slim для REST api при взаимодействия с корзиной, также его зависимостей Apiship
  • Не работает регистрация - при заполнении всех полей и нажатии на кнопку "Зарегистрироваться" ничего не происходит
  • Ошибка при подписке на снижение цены
  • Из раздела “Сравнение товаров” не добавляется товар в корзину
  • Не рассчитывается скидка по дисконтной карте.
  • Бесконечная загрузка при очистке блока Избранное. При нажатии на иконку добавления в избранное в карточке товара, он добавляется в избранное, появляется сообщение о добавлении в Избранное, цвет сердечка меняется, но товар не добавляется в избранное.
  • Не отображается цена на товар в каталоге
Отладка и тестирование интернет-магазина на 1С-Битрикс sport-marafon.ru после перехода на php 8.2
Также выявилась объемная задача по восстановлению работоспособности генерации pdf-файла в корзине - используемая библиотека не поддерживала новую версию php и потребовался рефакторинг.

Отладка и тестирование интернет-магазина на 1С-Битрикс sport-marafon.ru после перехода на php 8.2 - генерация pdf-файла состава корзины

4Восстановление работы сайта

В итоге были выполнены следующие работы по сайту:
  • Ядро Битрикс обновили до последней версии
  • Конвертировали таблицы БД
  • Обновили шаблонизатор Twig
  • Выявили и отладили ошибки в компонентах сайта
  • Выявили подписки на события и обновили/устранили ненужные
  • Восстановили работу pdf-генерации файлов в корзине
  • Восстановили работу модулей административного раздела
Таким образом, в несколько этапов работы по восстановлению работы интернет-магазина после перехода на php 8.2 и обновления Битрикс были завершены и переданы через Merge Request системы контроля версий git команде ИТ-специалистов клиента для переноса на основной сайт
Результаты работ по обновлению и отладке

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

Битрикс обновлен до последней версии, таблицы БД конвертированы в новый формат модуля sale

Обновлена библиотека генерации PDF - используется актуальная версия с поддержкой php 8 - не только изменения в коде, но и composer и mpdf библиотеку.

Более 50 шаблонов кастомизированных компонентов приведены в соответствие стандартам php8

Нужен похожий проект?

Расскажите о задаче — покажем близкие по смыслу работы и предложим решение со сроками и бюджетом.

Обсудить проект

Похожие проекты

Восстановление работы сайта brutalshop.ru после обновления до php 8.2
Обновление php с 5.6 до 8.2 и применение шаблона Аспро Некст для fstfoto.ru