Адаптация компонента Битрикс к PHP 8.4
Восстанавливаем одну самописную доработку Битрикс, которая перестала работать после перехода на PHP 8.4: компонент, обработчик события, агент или связанный шаблон. Воспроизводим ошибку на копии, исправляем локальный код, проверяем весь пользовательский сценарий и переносим готовую правку на рабочий сайт.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- После включения PHP 8.4 страница с самописным компонентом открывается с ошибкой, остаётся пустой или показывает предупреждения.
- Форма, расчёт, личный кабинет, AJAX-запрос либо фоновое задание работали на прежней версии PHP, а теперь завершаются ошибкой.
- В журнале появились TypeError, ValueError, ArgumentCountError, обращения к null или сообщения об устаревших вызовах.
- Переход всего сайта уже подготовлен, а запуск удерживает одна конкретная доработка из local или шаблона.
Что именно мы сделаем
Повторяем сбой на тестовой копии с той же версией Битрикс, PHP и нужных расширений.
Проходим сценарий целиком и по журналу PHP со стеком вызовов находим несовместимый участок локального кода.
Исправляем компонент, обработчик или агент и небольшие связанные участки, от которых зависит то же действие.
Проверяем публичную часть, сохранение настроек в административном разделе, права и повторные запуски.
Публикуем проверенные файлы с резервной копией и передаём перечень изменений с результатами проверки.
Что входит в стоимость
19 900 ₽ за всю работу
Исправляем одну локальную доработку Битрикс с доступным исходным кодом: воспроизводим сбой, находим несовместимость, меняем участвующие в сценарии файлы, проверяем публичную и административную часть и выпускаем правку с резервной копией.
Что будет готово
Передадим вам
- Исправленные файлы локальной доработки и резервная копия их предыдущих версий.
- Перечень изменённых участков с кратким объяснением исходной ошибки и правки.
- Протокол контрольного сценария с исходными данными и результатом после исправления.
- Результаты проверки публичной части, административных настроек и журнала PHP.
Перед сдачей проверим
- Выбранный сценарий на PHP 8.4 завершается ожидаемым результатом.
- Параметры компонента открываются и сохраняются с нужными правами в административном разделе.
- Повторный запуск с теми же данными проходит без исходной критической ошибки в журнале PHP.
- Изменённые файлы и понятный способ возврата переданы владельцу сайта.
Как это выглядит на практике
Компонент комплектов перестал считать цену на PHP 8.4
После переключения тестовой копии на PHP 8.4 самописный компонент комплектов перестал считать итоговую сумму. Стек указал на метод, который передавал null в функцию со строгим строковым аргументом. Исправление нужно провести в локальном коде и проверить вместе с шаблоном, AJAX-запросом и настройками компонента.
- 01
На тестовой копии повторяем выбор товаров и фиксируем запрос, после которого расчёт завершается ошибкой.
- 02
По журналу и стеку находим локальный метод и определяем ожидаемое поведение для пустого значения.
- 03
Исправляем обработку входных данных и проверяем расчёт с обычными, пустыми и граничными значениями.
- 04
Повторяем AJAX-запрос, сохранение настроек и несколько запусков с разными группами пользователя.
- 05
Переносим проверенную правку на рабочий сайт и ещё раз выполняем короткий контрольный сценарий.
Что понадобится для работы
От вас
- Доступ к тестовой копии или возможность подготовить её перед изменением кода.
- Доступ к local, шаблону, административной части Битрикс и журналам PHP.
- Адрес страницы или действие, на котором возникает ошибка, и пример исходных данных.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 16 900 ₽после выполнения, демонстрации и приёмки результата
Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.
Часто спрашивают
Об этой услуге
Что изменится после выполнения услуги «Адаптация компонента Битрикс к PHP 8.4»?
Самописный компонент, обработчик события или агент выполняет согласованный сценарий на PHP 8.4; настройки открываются в административной части, а исходная критическая ошибка больше не появляется в журнале. В готовый результат входят: исправленный самописный компонент, обработчик события или агент; рабочий пользовательский сценарий на PHP 8.4; проверенные настройки в административной части Битрикс; перечень изменённых файлов с кратким объяснением каждой правки; результаты контрольных запусков и проверки журналов.
Как проходит работа?
Создаём или используем тестовую копию сайта с той же версией Битрикс, PHP и настройками, чтобы спокойно повторить сбой и сохранить рабочий сайт доступным для посетителей. Проходим связанный сценарий целиком: открытие страницы, ввод данных, отправку формы, добавление товара, выполнение фонового задания либо другое действие, ради которого создана доработка.
Изучаем журнал PHP, журнал событий Битрикс и стек ошибки. Определяем, в каком файле и при каких данных возникает несовместимость. Проверяем типичные причины перехода на PHP 8.4: строгую обработку типов, обязательные аргументы методов, обращения к отсутствующим ключам, значения null, устаревшие функции и особенности наследования классов.
Исправляем код компонента, обработчика или агента и при необходимости небольшие зависимые участки, которые участвуют в том же рабочем сценарии. Перед сдачей проверяем: согласованный пользовательский сценарий завершается ожидаемым результатом на PHP 8.4.
Что понадобится для начала?
Для начала понадобятся: доступ к файлам сайта, административной части Битрикс и журналам PHP; пример действия, входных данных или страницы, где проявляется ошибка; тестовая копия сайта либо возможность подготовить её перед исправлением.
Как мы проверяем результат?
Проверка строится на согласованных сценариях. Подтверждаем: согласованный пользовательский сценарий завершается ожидаемым результатом на PHP 8.4; настройки компонента открываются и сохраняются в административной части; повторные контрольные запуски проходят с теми же исходными данными; в журнале PHP отсутствует исходная критическая ошибка исправленного сценария; список изменённых файлов и результаты проверки переданы владельцу сайта.
Какие доработки Битрикс можно адаптировать к PHP 8.4?
Работа подходит для самописных компонентов, шаблонов компонентов, обработчиков событий, агентов и небольших служебных модулей с доступным исходным кодом. Сначала воспроизведём проблему и найдём связанные участки, чтобы исправление охватывало рабочий сценарий целиком.
Что проверяется кроме самой строки с ошибкой?
Проверяем вызов компонента, передаваемые данные, связанный шаблон, настройки в административной части и журнал после исправления. Если для рабочего сценария нужна небольшая правка зависимого обработчика, включим её в работу и согласуем с вами.
Можно провести работу на копии сайта?
Да. Тестовая копия позволяет включить PHP 8.4, увидеть полный стек ошибки и проверить несколько вариантов данных. После приёмки подготовим перенос изменённых файлов на рабочий сайт с резервной копией.
Как понять, что исправление готово?
До начала фиксируем действие и ожидаемый результат: например, отправка формы создаёт обращение, компонент рассчитывает цену, агент обновляет данные. После правки повторяем этот сценарий, проверяем административные настройки и просматриваем журнал PHP.
Что делать, если ошибка затрагивает несколько связанных файлов?
Исправляем связанные файлы, которые непосредственно участвуют в выбранном сценарии. Небольшое отклонение от первоначального описания допустимо: покажем найденную зависимость и договоримся о практичном варианте без внезапной доплаты.
Подходит ли услуга для обновления всего сайта до PHP 8.4?
Эта страница посвящена одной локальной доработке. Для полного перехода проверим шаблон, модули, интеграции, фоновые задания и ключевые сценарии сайта, после чего предложим отдельную работу с фиксированной ценой.
Цена и изменения по ходу работы
Цена на странице окончательная?
Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.
Что означает резерв незапланированных работ?
Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.
Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.
Можно уточнять детали уже во время работы?
Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.
Начало работы и оплата
Как оформляются договор и оплата?
Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.
Когда начинается срок выполнения?
Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.
Как учитываются платные лицензии и внешние сервисы?
До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.
Проверка результата и гарантия
Как принимается готовая работа?
Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.
Какая гарантия действует после сдачи?
На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.