• Гость в разделе 1С-Битрикс все ссылки на модули, шаблоны и т.д. помещаем под хайд не менее 150 реакций.
  • Не создавайте несколько учетных записей, вы будете заблокированы! Для получения дополнительной информации о правилах, ограничениях и многом другом посетите страницу «Помощь».
    Нашли неработающую ссылку? Используйте кнопку «Жалоба»!

1С-Битрикс Скрипт Скрипт нативного обновление модулей БЕЗ КЛЮЧА!

Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
18,144
Решения
2
Реакции
23,033
Веб-сайт
itnull.info
Что делает скрипт?
Он позволяет скачать модули и дельта обновления к ним используя ключ битрикса.
Все обновления скачиваются в папку /bitrix/updates в особый формат ".upd"
Так как модуль и обновления это всего лишь файл его становиться легко переносить, передавать, делиться.
Но самое главное, что установка обновлений в скрипте происходит ТОЧНО так же как и в битриксе при использовании АКТИВНОГО КЛЮЧА.

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

Теперь все просто, достаточно нажать на кнопку установить напротив свеженького дельта обновления модуля и тут же будет все установлено: раскопированы новые файлы, выполнены нужные запросы к БД, запущены служебные скрипты.

Я прошу всех релизеров, переходить на данный формат.
Публиковать не заархивированные папки с модулем, а именно файлы ".upd", получая их при помощи скрипта - это формат битрикса и этим все сказано.

В связи с потоком вопросов, типо: "как поставить?" и "почему у меня не получается?", предлагаю более детальную схему работы скрипта. Если у вас уже установлен 1С-Битрикс, то можно начать с пункта 3.

  1. Установка Битрикса (Демо, либо из исходников)
  2. В админке делаем обновление ядра — этот шаг не является обязательным
  3. Скрипт нативной установки распаковываем любую папку в корень сайта. Сами решения в формате дельт распаковываем в /bitrix/updates/
  4. Запускаем первый раз Скрипт нативной установки и патчим ядро (происходит автоматически, этот шаг является обязательным);
  5. Сервер обновления меняем на localhost
  6. Далее, скриптом Скрипт нативной установки устанавливаем в систему решение, последовательно, не нарушая сквозную нумерацию. Помните - скрипт заменяет процедуру покупки и внесения купона в систему, а так же загрузку решения из Маркетплейс
  7. Вносим в файл not_mine.php (он появится в корне сайта сразу после патча ядра) в массив все решения, которые будем прятать, например, при желании спрятать aspro.kshop вносим это вместо 'module.name1' и получаем 'aspro.kshop'.
  8. Инсталлируем раскопированное скриптом решение в Админке системы - в закладке Маркетплейс → Установленные решения.
  9. Если процедура установки решения того требует, то запускаем Визард установки решения или на главной странице жмем кнопку "Опробовать новое решение".

NEW* Новая версия скрипта v2.4.1, совместимость с PHP 8.1 и выше.
  • Исправлено отображение установки.
  • Возможность изменять сервер обновлений.
  • Добавление/удаление модулей в/из not_mine.php

Измененная инструкция после обновления скрипта до версии 2.4.0 и выше:

Последняя версия скрипта, совместимость с PHP 8.1


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

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

Скрипт дополнительно патчит файл: (искать по слову PATCH)
Код:
Расширить Свернуть Скопировать
/bitrix/modules/main/classes/general/update_client.php

Изменения в файле: get_function.php
Код:
Расширить Свернуть Скопировать
foreach($arModules as $val){
$arClientModules[$val.'-not_mine'] = $arClientModules[$val];
unset($arClientModules[$val]);
}

Заменяем на:
Код:
Расширить Свернуть Скопировать
foreach($arModules as $val){
if(isset($arClientModules[$val]))unset($arClientModules[$val]);
}

Устаревшие версии
Updater_v (2.4.1) php 7.4/8.0

Updater_v (2.4.0.1 beta)

Updater_v (2.4.0.5 beta) newDesign

Updater_v (2.4.003) Максимальная длинна ключа теперь составляет 30 символов

Updater_v (2.4.0 beta)

Updater_v (2.3.0 beta)

1. Функция session_start была вызвана до запуска ядра Bitrix. Или когда скрипт перекидывает на главную страницу, решение:
В файле get_update.php найти session_start(); заменить на //session_start();

2. При установке решения, бесконечная загрузка, проблема наблюдается редко, решение:
Включить режим правки

3. В скрипте обнаружена еще одна проблема, которая больше касается решений от Аспро, такие как aspro.max и так далее.
Есть есть глобальная функция "clear". Как минимум с решением аспро максимум на обновлении 2.5.3 уходит в ошибку, т.к. в файлах обновления модуля есть функция с таким же названием, и php улетает в ошибку already declared.

Пример ошибки:
PHP:
Расширить Свернуть Скопировать
2026-01-22 20:06:26 - Host: localhost:80 - FATAL - [ErrorException] E_COMPILE_ERROR
Cannot redeclare clear() (previously declared in /home/bitrix/ext_www/localhost/bupd/get_function.php:24) (0)
/home/bitrix/ext_www/localhost/bitrix/updates/update_aspro.max.2.5.3.delta.upd/aspro.max/updater2.5.3.php:439

Решение:
Нужно изменить название функции clear в файлах get_update.php и get_function.php.
 
Последнее редактирование:
Реакции:
  • Мне нравится
Реакции: kroki, AlexBeleckiy, sl.max и 86 других
Подскажите, как поменять сервер обновлений на localhost?
 
Реакции:
Все загрузил на сервер но не получается обновить. При запуске скрипта просто белый экран. Кто сможет помочь? Пытаюсь установить Аспро Максимум
 
Реакции:
при запуске get_function Как вылечить?

Fatal error: Uncaught Error: Call to undefined function IncludeModuleLangFile() in /docs/bitrix/modules/main/classes/general/update_client_partner.php:14 Stack trace: #0 /docs/upd/get_function.php(4): require() #1 {main} thrown in /docs/bitrix/modules/main/classes/general/update_client_partner.php on line 14.
 
Реакции:
при запуске get_function Как вылечить?

Fatal error: Uncaught Error: Call to undefined function IncludeModuleLangFile() in /docs/bitrix/modules/main/classes/general/update_client_partner.php:14 Stack trace: #0 /docs/upd/get_function.php(4): require() #1 {main} thrown in /docs/bitrix/modules/main/classes/general/update_client_partner.php on line 14.
Вам нужно запускать get_update.php
 
Реакции:
внес строку 'wbs24.ozonapilite', в файл not_mine.php
Запускаю get_function.php
В ответ ошибка "HTTP ERROR 500"
 
Реакции:
Реакции:
К примеру загрузили папку с файлами в корень, папка имеет название upd, переходим site.com/upd/get_update.php
В самом верху появится сообщение, о чем, что файл пропатчен. Обновляете страницу, перед этим загружены должны быть файлы шаблона в папке bitrix/updates. И производите установку шаблона уже. Он должен будет появится на странице site.com/upd/get_update.php
пожалуйста обновите пункт 4 в спойлере. там вообще не очевидно какой скрипт запускать
 
Реакции:
в шапке темы в спойлере написано:
"внести название модуля в список файла "not_mine.php" и запустить скрипт "get_function.php" для автоматического внесения изменений."
какой правильно запускать "get_function.php" или "get_update.php" для файла "not_mine.php"
 
Реакции:
в шапке темы в спойлере написано:
"внести название модуля в список файла "not_mine.php" и запустить скрипт "get_function.php" для автоматического внесения изменений."
какой правильно запускать "get_function.php" или "get_update.php" для файла "not_mine.php"
Запускаете get_update.pho, пропитаться, кидаете файлы установочный и обновлений в bitrix/updates, ставите решение, потом вносите его в not_mine
 
Реакции:
  • Мне нравится
Реакции: poz2000
Добрый вечер! Можно поставить на PHP 8.2? Будет работать?
 
Реакции:
Реакции:
Приветствую! Пытаюсь запустить скрипт нативной установки модуля, запустился сразу get_function.php, но вылезла ошибка:


Fatal error: Uncaught Error: Call to undefined function IncludeModuleLangFile() in /var/www/XXX/bitrix/modules/main/classes/general/update_client_partner.php:13 Stack trace: #0 /var/www/XXX/patch/get_function.php(4): require() #1 {main} thrown in /var/www/XXX/bitrix/modules/main/classes/general/update_client_partner.php on line 13

Модуль в формате .upd залил в bitrix/updates, а сами скрипты в папку patch, которая находится в корне сайта. Вот тут вопрос - скрипты нужно прям в корень сайта класть или как по инструкции в папку в корне?
 
Реакции:
Приветствую! Пытаюсь запустить скрипт нативной установки модуля, запустился сразу get_function.php, но вылезла ошибка:


Fatal error: Uncaught Error: Call to undefined function IncludeModuleLangFile() in /var/www/XXX/bitrix/modules/main/classes/general/update_client_partner.php:13 Stack trace: #0 /var/www/XXX/patch/get_function.php(4): require() #1 {main} thrown in /var/www/XXX/bitrix/modules/main/classes/general/update_client_partner.php on line 13

Модуль в формате .upd залил в bitrix/updates, а сами скрипты в папку patch, которая находится в корне сайта. Вот тут вопрос - скрипты нужно прям в корень сайта класть или как по инструкции в папку в корне?
Почитайте тему какой файл нужно запускать, писалось уже не однократно
 
Реакции:
Почитайте тему какой файл нужно запускать, писалось уже не однократно
Запустил get_update.php по мануалу, в not_mine.php добавил модуль, который хочу установить. Что делать дальше? Модуль для установки не появился на странице маркетплейса
 
Реакции:
Запустил get_update.php по мануалу, в not_mine.php добавил модуль, который хочу установить. Что делать дальше?
Запускаете, ставите модуль, потом ставите в админке, потом прячете уже
 
Реакции:
Запускаете, ставите модуль, потом ставите в админке, потом прячете уже
Где ставим модуль? Вы имеете ввиду в папку bitrix/updates?
У меня его нет в доступных к установке на странице маркетплейса
 
Реакции:
Где ставим модуль? Вы имеете ввиду в папку bitrix/updates?
У меня его нет в доступных к установке на странице маркетплейса
Вы дельты и файл установщика загружаете в bitrix/update и потом ставите через скрипт, потом его в админке в разделе маркета-установленные решения нужно установить а потом можно прятать
 
Реакции:
Вы дельты и файл установщика загружаете в bitrix/update и потом ставите через скрипт, потом его в админке в разделе маркета-установленные решения нужно установить а потом можно прятать
У меня есть только файл дельты, который я закинул в bitrix/update. Как должен выглядеть файл установщика, где его взять?
 
Реакции:
У меня есть только файл дельты, который я закинул в bitrix/update. Как должен выглядеть файл установщика, где его взять?
Формат .mod, обычно в каждом архиве выкладываю но бывает что пропускаю, тогда вкладка история версий в нужном ресурсе
 
Реакции:
Реакции:
    Сейчас эту тему никто не читает.

Похожие темы

Частично перестает работать сайт после обновления 1С-Битрикс 1С-Битрикс обновил версии...
Ответы
0
Просмотры
2K
Назад
Сверху Снизу