Yandex Metrika
sanches.free 1 просмотр

Перезагрузка файлов ядра Bitrix: update_system.php и BX_SUPPORT_PROTOCOL

Когда помогает «перезагрузка» файлов ядра

Иногда после сбоя обновления, неполной выгрузки модулей с маркетплейса или ручных правок в каталоге /bitrix на диске оказывается набор файлов, который не совпадает с тем, что соответствует уже установленным версиям в базе. В таких случаях полезно принудительно развернуть файлы модулей из текущего дистрибутива, не меняя записанные номера версий модулей. Это не замена аккуратному обновлению и диагностике, но убирает типичные «битые» деревья перед повторной попыткой апдейта.

Параметр с номером календарного дня

Служебный сценарий в административной части — страница /bitrix/admin/update_system.php. Чтобы допустить запуск, к адресу добавляют параметр, в имени которого фигурирует сегодняшнее число месяца: префикс BX_SUPPORT_PROTOCOL и сразу за ним цифра дня без ведущего ноля. Значение параметра — Y.

Пример полного GET-запроса (подставьте свой хост и актуальный день вместо 17, если сегодня не семнадцатое число):

https://example.org/bitrix/admin/update_system.php?BX_SUPPORT_PROTOCOL17=Y

Механика намеренно «привязана» к календарю: с тем же числом в имени параметра скрипт отрабатывает только в соответствующий день. На другую дату придётся использовать другое имя параметра — так снижают риск случайного или автоматического перебора URL.

Что получится на выходе

  • Платформа перекладывает файлы модулей в соответствии с уже установленными версиями; сами версии в базе не обязаны измениться.
  • Пользовательский код в /local и зарегистрированные решения не входят в этот процесс как «ядро», но кастомные правки внутри /bitrix/modules/..., если вы их делали, теоретически могут быть затронуты — до запуска стоит свериться с резервной копией или перенести логику в собственное пространство.
  • Если первопричина была в повреждённом апдейте, после выравнивания файлов имеет смысл снова пройти штатное обновление из административного раздела.

Как применять без сюрпризов

Сначала воспроизведите сценарий на копии проекта и при свежем бэкапе. Работайте под администратором с полным доступом к админке. После выполнения проверьте критичный функционал: авторизацию, обмены, интеграции и основные пользовательские сценарии — а не только исчезновение сообщения об ошибке в логе.

Итог

Страница update_system.php с параметром вида BX_SUPPORT_PROTOCOL17=Y, где суффикс 17 заменяют на число текущего дня месяца, — штатный способ заставить систему заново разложить файлы модулей из текущей установки; ключевой нюанс — эта цифра в имени параметра должна совпадать с сегодняшним календарным днём.

Не хотите копаться сами?

Починю за 1-3 дня. Без предоплаты — оплата по результату.

15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии