• Гость в разделе 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)

 
Последнее редактирование:
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,030
Решения
1
Симпатии
7,305
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #161

Романтик

Пользователь
За год с нами За классный аватар
Регистрация
15.01.23
Сообщения
6
Симпатии
0
  • Последнее редактирование модератором:
Последнее редактирование модератором:
ошибка при запуске скрипта

PHP:
Deprecated: Attention! The session_start function was called before the Bitrix Kernel was started. The session will be closed to avoid errors. It's strongly recommended to avoid session usage before initializing the Bitrix Kernel. in /home/bitrix/www/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php on line 21

[Error]

CUpdateClientPartner::GetCurrentModules(): Argument #1 ($strError) cannot be passed by reference (0)

/home/bitrix/ext_www/site/upd/get_function.php:216

#0: myModules

/home/bitrix/ext_www/site/upd/get_function.php:248

#1: getMyModules

/home/bitrix/ext_www/site/upd/get_function.php:261

#2: rebuild

/home/bitrix/ext_www/site/upd/get_update.php:31

Стоит PHP8.1
Думаю скрипт не работает на версии php8
 
Последнее редактирование модератором:
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,030
Решения
1
Симпатии
7,305
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #163
ошибка при запуске скрипта

Deprecated: Attention! The session_start function was called before the Bitrix Kernel was started. The session will be closed to avoid errors. It's strongly recommended to avoid session usage before initializing the Bitrix Kernel. in /home/bitrix/www/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php on line 21
[Error]
CUpdateClientPartner::GetCurrentModules(): Argument #1 ($strError) cannot be passed by reference (0)
/home/bitrix/ext_www/site/upd/get_function.php:216
#0: myModules
/home/bitrix/ext_www/site/upd/get_function.php:248
#1: getMyModules
/home/bitrix/ext_www/site/upd/get_function.php:261
#2: rebuild
/home/bitrix/ext_www/site/upd/get_update.php:31
----------
Стоит PHP8.1
Думаю скрипт не работает на версии php8
Вам уже говорили что скрипт не работает на версиях выше 7.4 !!! И это обсуждалось в теме не однократно
 

Романтик

Пользователь
За год с нами За классный аватар
Регистрация
15.01.23
Сообщения
6
Симпатии
0
короче если будут возникать ошибки, как у меня выше, то откатывайтесь на php7.4, обновляйте что вам надо скриптом, а затем возвращайтесь снова в php8. времени чуть больше займет, зато работает.
 

maxisoft

Проверенный
За год с нами За классный аватар
Регистрация
28.06.22
Сообщения
21
Симпатии
21
Прошу прощение приболел, но сегодня постараюсь закинуть скрипт на 8.1
 

maxisoft

Проверенный
За год с нами За классный аватар
Регистрация
28.06.22
Сообщения
21
Симпатии
21
  • Последнее редактирование модератором:
Последнее редактирование модератором:
Последнее редактирование модератором:
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,030
Решения
1
Симпатии
7,305
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #167
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,030
Решения
1
Симпатии
7,305
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #169
Обновил скрипт под php 8.1, в первом посте.
 

soleq

Пользователь
За классный аватар За год с нами
Регистрация
31.10.22
Сообщения
38
Симпатии
4
Что делает скрипт?


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

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

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

В связи с потоком вопросов, типо: "как поставить?" и "почему у меня не получается?", предлагаю более детальную схему работы скрипта. Если у вас уже установлен Битрикс, то можно начать с пункта 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.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)
*** Скрытый текст не может быть процитирован. ***
*** Скрытый текст не может быть процитирован. ***
на архиве пароль
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,030
Решения
1
Симпатии
7,305
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #171

longdadd

Пользователь
За год с нами За донат iTnull.info За классный аватар
Регистрация
12.04.23
Донат
750.00 ₽
Сообщения
3
Симпатии
2
Добрый день!
Перечитал весь пост, не могу найти пароль от доступа к файлу(
Прошу прислать в ЛС
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,030
Решения
1
Симпатии
7,305
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #173
Добрый день!
Перечитал весь пост, не могу найти пароль от доступа к файлу(
Прошу прислать в ЛС
Добрый день, значит не перечитали первое сообщение, там пароль указан под спойлером
 

Cramac

Пользователь
За год с нами
Регистрация
27.02.23
Сообщения
17
Симпатии
5
Всем привет. А скрипт как то влияет на установку из оф.маркетплейса? Что то после применения, не могу поставить модули
выбираю модуль, жму установить, перекидывает на страницу что хочу установить, но ничего нет, пусто.
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,030
Решения
1
Симпатии
7,305
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #175
Всем привет. А скрипт как то влияет на установку из оф.маркетплейса? Что то после применения, не могу поставить модули
выбираю модуль, жму установить, перекидывает на страницу что хочу установить, но ничего нет, пусто.
Нет, не влияет
 

Cramac

Пользователь
За год с нами
Регистрация
27.02.23
Сообщения
17
Симпатии
5
странно, что то сломалось видимо
 

Игорь123

Пользователь
За классный аватар
Регистрация
20.04.23
Сообщения
2
Симпатии
0
При помощи данного скрипта выполнил всё до 6 действия, там выполняется постоянная загрузка шаблона. Подскажите что можно сделать что бы установить шаблон .upd при помощи скрипта?
Обновлял страницу и пытался установить заново ( можно только чистый шаблон устанавливать, кнопки "установить" у обновлений шаблона снизу самого шаблона не появлялось). Изначально на сайте стоит случайный шаблон из предложенных 1С-Битрикс.
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
9,030
Решения
1
Симпатии
7,305
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #178
При помощи данного скрипта выполнил всё до 6 действия, там выполняется постоянная загрузка шаблона. Подскажите что можно сделать что бы установить шаблон .upd при помощи скрипта?
Обновлял страницу и пытался установить заново ( можно только чистый шаблон устанавливать, кнопки "установить" у обновлений шаблона снизу самого шаблона не появлялось). Изначально на сайте стоит случайный шаблон из предложенных 1С-Битрикс.
Попробовать версию пхп другую
 

Игорь123

Пользователь
За классный аватар
Регистрация
20.04.23
Сообщения
2
Симпатии
0
  • Последнее редактирование:
Последнее редактирование:
Попробовать версию пхп другую
Вы имеете в виду скрипт более старой версии- я правильно Вас понимаю?
Ред. При выполнении get_update.php предыдущих версий скрипта появляется данная ошибка:
При выполнении скрипта возникла ошибка. Включить расширенный вывод ошибок можно в файле настроек
Ред.х2 Установилось на единственной версии php74-bx (изначально стояло php81). Может кому пригодится.
 
Последнее редактирование:

nikon6233

Пользователь
За год с нами За донат iTnull.info За классный аватар
Регистрация
17.08.22
Донат
50.00 ₽
Сообщения
16
Симпатии
2
Здравствуйте. Уточните, пожалуйста, после Патча ядра и установки пропатченных решений, устанавливать Обновления Ядра битрикс можно? Если Битрикс - лицензия...
 

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

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

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

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

Авторизация

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

Похожие темы

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