• Гость в разделе 1С-Битрикс все ссылки на модули, шаблоны и т.д. помещаем под хайд не менее 150 лайков.
  • Обязательно ознакомьтесь с правилами форума!

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

  • Последнее редактирование:
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1
Последнее редактирование:
Что делает скрипт?
Он позволяет скачать модули и дельта обновления к ним используя ключ битрикса.
Все обновления скачиваются в папку /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. Если процедура установки решения того требует, то запускаем Визард установки решения или на главной странице жмем кнопку "Опробовать новое решение".

Измененная инструкция после обновления скрипта до версии 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)

 
Последнее редактирование:

eufist

Пользователь
За классный аватар
Регистрация
10.02.24
Сообщения
4
Симпатии
0
Подскажите, как поменять сервер обновлений на localhost?
 

kruglovweb

Пользователь
За классный аватар
Регистрация
13.02.24
Сообщения
2
Симпатии
0
Все загрузил на сервер но не получается обновить. При запуске скрипта просто белый экран. Кто сможет помочь? Пытаюсь установить Аспро Максимум
 

lexa1741

Пользователь
За классный аватар
Регистрация
12.02.24
Сообщения
3
Симпатии
0
при запуске 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.
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,156
Решения
1
Симпатии
7,521
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #304
при запуске 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
 

poz2000

Пользователь
За год с нами За классный аватар
Регистрация
31.07.22
Сообщения
20
Симпатии
0
внес строку 'wbs24.ozonapilite', в файл not_mine.php
Запускаю get_function.php
В ответ ошибка "HTTP ERROR 500"
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,156
Решения
1
Симпатии
7,521
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #306

pew-pew-pew

Пользователь
За классный аватар
Регистрация
25.02.24
Сообщения
5
Симпатии
0
К примеру загрузили папку с файлами в корень, папка имеет название upd, переходим site.com/upd/get_update.php
В самом верху появится сообщение, о чем, что файл пропатчен. Обновляете страницу, перед этим загружены должны быть файлы шаблона в папке bitrix/updates. И производите установку шаблона уже. Он должен будет появится на странице site.com/upd/get_update.php
пожалуйста обновите пункт 4 в спойлере. там вообще не очевидно какой скрипт запускать
 

poz2000

Пользователь
За год с нами За классный аватар
Регистрация
31.07.22
Сообщения
20
Симпатии
0
в шапке темы в спойлере написано:
"внести название модуля в список файла "not_mine.php" и запустить скрипт "get_function.php" для автоматического внесения изменений."
какой правильно запускать "get_function.php" или "get_update.php" для файла "not_mine.php"
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,156
Решения
1
Симпатии
7,521
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #309
в шапке темы в спойлере написано:
"внести название модуля в список файла "not_mine.php" и запустить скрипт "get_function.php" для автоматического внесения изменений."
какой правильно запускать "get_function.php" или "get_update.php" для файла "not_mine.php"
Запускаете get_update.pho, пропитаться, кидаете файлы установочный и обновлений в bitrix/updates, ставите решение, потом вносите его в not_mine
 

cm25638

Пользователь
Вы с нами 2 года! Спасибо. За год с нами
Регистрация
30.07.21
Сообщения
13
Симпатии
0
Добрый вечер! Можно поставить на PHP 8.2? Будет работать?
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,156
Решения
1
Симпатии
7,521
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #311

grantur5707

Пользователь
За классный аватар
Регистрация
15.03.24
Сообщения
13
Симпатии
0
Приветствую! Пытаюсь запустить скрипт нативной установки модуля, запустился сразу 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, которая находится в корне сайта. Вот тут вопрос - скрипты нужно прям в корень сайта класть или как по инструкции в папку в корне?
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,156
Решения
1
Симпатии
7,521
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #313
Приветствую! Пытаюсь запустить скрипт нативной установки модуля, запустился сразу 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, которая находится в корне сайта. Вот тут вопрос - скрипты нужно прям в корень сайта класть или как по инструкции в папку в корне?
Почитайте тему какой файл нужно запускать, писалось уже не однократно
 

grantur5707

Пользователь
За классный аватар
Регистрация
15.03.24
Сообщения
13
Симпатии
0
Почитайте тему какой файл нужно запускать, писалось уже не однократно
Запустил get_update.php по мануалу, в not_mine.php добавил модуль, который хочу установить. Что делать дальше? Модуль для установки не появился на странице маркетплейса
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,156
Решения
1
Симпатии
7,521
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #315
Запустил get_update.php по мануалу, в not_mine.php добавил модуль, который хочу установить. Что делать дальше?
Запускаете, ставите модуль, потом ставите в админке, потом прячете уже
 

grantur5707

Пользователь
За классный аватар
Регистрация
15.03.24
Сообщения
13
Симпатии
0
Запускаете, ставите модуль, потом ставите в админке, потом прячете уже
Где ставим модуль? Вы имеете ввиду в папку bitrix/updates?
У меня его нет в доступных к установке на странице маркетплейса
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,156
Решения
1
Симпатии
7,521
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #317
Где ставим модуль? Вы имеете ввиду в папку bitrix/updates?
У меня его нет в доступных к установке на странице маркетплейса
Вы дельты и файл установщика загружаете в bitrix/update и потом ставите через скрипт, потом его в админке в разделе маркета-установленные решения нужно установить а потом можно прятать
 

grantur5707

Пользователь
За классный аватар
Регистрация
15.03.24
Сообщения
13
Симпатии
0
Вы дельты и файл установщика загружаете в bitrix/update и потом ставите через скрипт, потом его в админке в разделе маркета-установленные решения нужно установить а потом можно прятать
У меня есть только файл дельты, который я закинул в bitrix/update. Как должен выглядеть файл установщика, где его взять?
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,156
Решения
1
Симпатии
7,521
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #319
У меня есть только файл дельты, который я закинул в bitrix/update. Как должен выглядеть файл установщика, где его взять?
Формат .mod, обычно в каждом архиве выкладываю но бывает что пропускаю, тогда вкладка история версий в нужном ресурсе
 

grantur5707

Пользователь
За классный аватар
Регистрация
15.03.24
Сообщения
13
Симпатии
0

Создайте аккаунт или войдите, чтобы комментировать

Вы должны быть участником, чтобы оставлять комментарии

Зарегистрироваться

Создайте учетную запись. Это просто!

Авторизация

Уже есть аккаунт? Авторизуйтесь.

Похожие темы

  • Закрыта
  • Закреплено
Удалось отвязать все модули от дэмки ниже скрипт работает так: Сканирует папку модулей на...
Ответы
9
Просмотры
7K
Сверху Снизу