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

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

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

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

2. При установке решения, бесконечная загрузка, проблема наблюдается редко, решение:
Включить режим правки
 
Последнее редактирование:
Thank you for this guide my man.
 
после запуска: и запустить скрипт "get_function.php" для автоматического внесения изменений.

Выдает:

Fatal error: Uncaught Error: Call to undefined function IncludeModuleLangFile() in /public_html/bitrix/modules/main/classes/general/update_client_partner.php:16 Stack trace: #0
/public_html/upd/get_function.php(4): require() #1 {main} thrown in /public_html/bitrix/modules/main/classes/general/update_client_partner.php on line 16
Сообщение автоматически объединено:

Должно ли в админке исчезнуть предупреждение:

Лицензия Аспро: Максимум
Не удалось получить информацию об установке решения
 
Добрый день, застрял на 4 пункте, возникает ошибка при открытии страницы "/upd/get_update.php", почитал страницы обсуждений, подобное было уже у ребят здесь, переключались на PHP 7.4, но, в моем случае, слишком много костылей оформлено было при переходе на 8.1 и после отката на прошлую версию происходит ошибка, которая полностью блокирует доступ к открытию страниц. Нет ли какого-либо другого способа обойти данную беду, что указана ниже?

Warning: session_set_save_handler(): Session save handler cannot be changed when a session is active in /var/www/www-root/data/www/bitrix/modules/main/lib/session/session.php on line 34
[RuntimeException]
Could not start session by PHP because session is active. (0)
/var/www/www-root/data/www/bitrix/modules/main/lib/session/session.php:139
#0: Bitrix\Main\Session\Session->start()
/var/www/www-root/data/www/bitrix/modules/main/lib/session/legacy/lazysessionstart.php:41
#1: Bitrix\Main\Session\Legacy\LazySessionStart->start()
/var/www/www-root/data/www/bitrix/modules/main/lib/session/legacy/lazysessionstart.php:46
#2: Bitrix\Main\Session\Legacy\LazySessionStart->offsetExists(string)
/var/www/www-root/data/www/bitrix/modules/webdebug.utilities/lib/adminauthnotifier.php:21
#3: WD\Utilities\AdminAuthNotifier::eek:nBeforeProlog()
/var/www/www-root/data/www/bitrix/modules/webdebug.utilities/lib/eventhandler.php:34
#4: WD\Utilities\EventHandler::eek:nBeforeProlog()
/var/www/www-root/data/www/bitrix/modules/main/tools.php:4737
#5: ExecuteModuleEventEx(array)
/var/www/www-root/data/www/bitrix/modules/main/include.php:518
#6: require_once(string)
/var/www/www-root/data/www/bitrix/modules/main/include/prolog_before.php:19
#7: require_once(string)
/var/www/www-root/data/www/bitrix/modules/main/include/prolog.php:10
#8: require_once(string)
/var/www/www-root/data/www/bitrix/header.php:1
#9: require(string)
/var/www/www-root/data/www/upd/get_update.php:3
----------
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #264 из 562
Добрый день, застрял на 4 пункте, возникает ошибка при открытии страницы "/upd/get_update.php", почитал страницы обсуждений, подобное было уже у ребят здесь, переключались на PHP 7.4, но, в моем случае, слишком много костылей оформлено было при переходе на 8.1 и после отката на прошлую версию происходит ошибка, которая полностью блокирует доступ к открытию страниц. Нет ли какого-либо другого способа обойти данную беду, что указана ниже?

Warning: session_set_save_handler(): Session save handler cannot be changed when a session is active in /var/www/www-root/data/www/bitrix/modules/main/lib/session/session.php on line 34
[RuntimeException]
Could not start session by PHP because session is active. (0)
/var/www/www-root/data/www/bitrix/modules/main/lib/session/session.php:139
#0: Bitrix\Main\Session\Session->start()
/var/www/www-root/data/www/bitrix/modules/main/lib/session/legacy/lazysessionstart.php:41
#1: Bitrix\Main\Session\Legacy\LazySessionStart->start()
/var/www/www-root/data/www/bitrix/modules/main/lib/session/legacy/lazysessionstart.php:46
#2: Bitrix\Main\Session\Legacy\LazySessionStart->offsetExists(string)
/var/www/www-root/data/www/bitrix/modules/webdebug.utilities/lib/adminauthnotifier.php:21
#3: WD\Utilities\AdminAuthNotifier::eek:nBeforeProlog()
/var/www/www-root/data/www/bitrix/modules/webdebug.utilities/lib/eventhandler.php:34
#4: WD\Utilities\EventHandler::eek:nBeforeProlog()
/var/www/www-root/data/www/bitrix/modules/main/tools.php:4737
#5: ExecuteModuleEventEx(array)
/var/www/www-root/data/www/bitrix/modules/main/include.php:518
#6: require_once(string)
/var/www/www-root/data/www/bitrix/modules/main/include/prolog_before.php:19
#7: require_once(string)
/var/www/www-root/data/www/bitrix/modules/main/include/prolog.php:10
#8: require_once(string)
/var/www/www-root/data/www/bitrix/header.php:1
#9: require(string)
/var/www/www-root/data/www/upd/get_update.php:3
----------
Добрый день, так есть скрипт под 8.1 версию в первом посте
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #266 из 562
Тогда я его и ставил, получается. В чем может быть проблема, не встречали такие ошибки?
Не сталкивался с подобным, предполагаю что с битрикс может быть связано. Киньте доступ в личку если есть возможность, попробую посмотреть
 
Откройте скрипт который запускаете и удалите пустую строку в начале файла, на 8.1 это бич в битриксе сразу падает старт сессии если в скрипте есть пустые строки до начального тега <?php
 
День добрый. Сайт на php 7.4 версия битрикса 22.600.100, версия скрипта 2,4,1 пропатчилось хорошо, но после запуска выдает: Fatal error: Uncaught Error: Call to undefined function IncludeModuleLangFile() in /var/www/u18808/data/www/site.ru/bitrix/modules/main/classes/general/update_client_partner.php:13 Stack trace: #0 /var/www/u18808/data/www/site.ru/upd/get_function.php(4): require() #1 {main} thrown in /var/www/u1880857/data/www/site.ru/bitrix/modules/main/classes/general/update_client_partner.php on line 13
 
Извиняюсь, что не туда писал. Я 3 дня назад покупал премиум и скачал модулем аспро максимум. Мне для того чтобы скрипт нативной установки скачать, заново нужно покупать премиум? Или можно как то предоставить
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #270 из 562
Извиняюсь, что не туда писал. Я 3 дня назад покупал премиум и скачал модулем аспро максимум. Мне для того чтобы скрипт нативной установки скачать, заново нужно покупать премиум? Или можно как то предоставить

Извиняюсь, что не туда писал. Я 3 дня назад покупал премиум и скачал модулем аспро максимум. Мне для того чтобы скрипт нативной установки скачать, заново нужно покупать премиум? Или можно как то предоставить
Скинул в личку
 
Нужно все модули скрывать, даже которые скачаны из маркетплейс битрикса в течении демо периода? И в дальнейшем если понадобится обновить ядро битрикса, то ключ лицензии купить придется, он встанет на этот скрипт?
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #272 из 562
Нужно все модули скрывать, даже которые скачаны из маркетплейс битрикса в течении демо периода? И в дальнейшем если понадобится обновить ядро битрикса, то ключ лицензии купить придется, он встанет на этот скрипт?
Те что с маркета можно не скрывать
 
Объясните чайнику, что делаю не так.

Все лицензия, кроме импорта и экспорта из эксель

1 Файл скрипта положил на сервер /bitrix/updates/
2 Создал .htaccess
Options -Indexes
Allow from all
3 Запускаю get_update.php - Ничего не происходит, ни ошибок ни сообщении внутри сверху и .тд
4 Положил папки с расширениями в /bitrix/updates/
5. В Установленных решениях появилась строка, есть купленные, но не установленные решения. Установил.
Скриншот ниже


1705980917998.webp
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #274 из 562
Объясните чайнику, что делаю не так.

Все лицензия, кроме импорта и экспорта из эксель

1 Файл скрипта положил на сервер /bitrix/updates/
2 Создал .htaccess
Options -Indexes
Allow from all
3 Запускаю get_update.php - Ничего не происходит, ни ошибок ни сообщении внутри сверху и .тд
4 Положил папки с расширениями в /bitrix/updates/
5. В Установленных решениях появилась строка, есть купленные, но не установленные решения. Установил.
Скриншот ниже


1705980917998.png
Киньте доступ к админке в личку, посмотрю в чем проблема
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #275 из 562
Объясните чайнику, что делаю не так.

Все лицензия, кроме импорта и экспорта из эксель

1 Файл скрипта положил на сервер /bitrix/updates/
2 Создал .htaccess
Options -Indexes
Allow from all
3 Запускаю get_update.php - Ничего не происходит, ни ошибок ни сообщении внутри сверху и .тд
4 Положил папки с расширениями в /bitrix/updates/
5. В Установленных решениях появилась строка, есть купленные, но не установленные решения. Установил.
Скриншот ниже


1705980917998.png
Вопрос решен. Скрипт нативного обновления должен быть в корне, в папке bitrix/updates должны быть без папок а в корне файлы обновлений и форматы .mod
 
Добрый день у меня тоже не появляется шаблон,подскажите , что делаю не так? Разархивировал в bitrix/update папку шаблона admin,install и т.д. пропатчил ,но в списке шаблон не появился,?
 

Вложения

  • Снимок экрана 11.webp
    Снимок экрана 11.webp
    5.6 KB · Просмотры: 9
  • Снимок экрана 12.webp
    Снимок экрана 12.webp
    11.9 KB · Просмотры: 9
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #277 из 562
Добрый день у меня тоже не появляется шаблон,подскажите , что делаю не так? Разархивировал в bitrix/update папку шаблона admin,install и т.д. пропатчил ,но в списке шаблон не появился,?
А причем тут шаблон в виде модуля и скрипт нативной установки ?
 
Тогда подскажите, как установить шаблон.... например deluxe....спасибо
Для всех приложений Битрикс (шаблоны или модули) установка скриптом одинакова, в начале темы есть инструкция с шагами, на скриншоте вы папки развернутого шаблона кидаете в updates, как Вы хотите чтобы модуль установился при этом ? Вам нужно взять шаблон в формате delta.upd, закинуть его версии туда и далее по инструкции скрипта. Если формат уже развернут, то его нужно кидать напрямую в папку modules и выполнять установку из админки, а скриптом уже скрыть в not_mine от обновлений. Я лично не советую установку распакованных модулей, т.к. часто они либо не рабочие, либо с ошибками в будущем, самый проверенный метод - дельта обновления и скрипт.
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #280 из 562

Похожие темы

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