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

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

  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1 из 624
Что делает скрипт?
Он позволяет скачать модули и дельта обновления к ним используя ключ битрикса.
Все обновления скачиваются в папку /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. При установке решения, бесконечная загрузка, проблема наблюдается редко, решение:
Включить режим правки
 
Последнее редактирование:
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #601 из 624
Это может быть связано, что get_function.php выдает ошибку 500?
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #603 из 624
По пути сайт/upd/get_update.php не открывает файл, закидал по bitrix пользователем, меня провал, менял
В файле get_update.php найти session_start(); заменить на //session_start();

Все равно не запускается, на другом сервере тестовом запускается. В чем может быть причина? На обоих одинаковых mysql и php, та же система и тд.





1751402319273.webp
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #605 из 624
По пути сайт/upd/get_update.php не открывает файл, закидал по bitrix пользователем, меня провал, менял
В файле get_update.php найти session_start(); заменить на //session_start();

Все равно не запускается, на другом сервере тестовом запускается. В чем может быть причина? На обоих одинаковых mysql и php, та же система и тд.





1751402319273.webp
Посмотрите лог ошибок, на что ссылается 500
 
. © Битрикс, 2002-2025
Запускаю
/upd/upd/get_update.php?clear_cache=Y
Получаю ошибку
[ErrorException] E_ERROR
Cannot redeclare class CUpdateSystem (previously declared in /home/bitrix/www/bitrix/modules/main/classes/general/update_class.php:13) (0)
/home/bitrix/www/bitrix/modules/main/classes/general/update_class.php:13
----------
 
При запуске /upd/upd/get_update.php сразу происходит редирект на главную страницу.
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #609 из 624
Добрый день всем. Возникла проблема вызова функции обновления при установке обновления на Аспро Максимум 2.5.3. с версии 2.5.2 соответственно. В самом upd есть функции clear которые при запуске обновления вызывает конфликт с функцией clear в самом скрипте обновления, а конкретно в get_update и get_function.

Сама ошибка:

Код:
Расширить Свернуть Скопировать
Fatal error: Cannot redeclare clear() (previously declared in /home/---/-----------/------------/public_html/get_function.php:21) in /home/t--/---------------/-----------.ru/public_html/bitrix/updates/update_aspro.max.2.5.3.delta.upd/aspro.max/updater2.5.3.php on line 439



[ErrorException] E_COMPILE_ERROR

Cannot redeclare clear() (previously declared in /home/--/-----/--------------/public_html/get_function.php:21) (0)

/home/--/------------/--------------/public_html/bitrix/updates/update_aspro.max.2.5.3.delta.upd/aspro.max/updater2.5.3.php:439

Решение:

Переименовать функцию clear например на my_clear

В get_update:

Код:
Расширить Свернуть Скопировать
//Если ключ меньшей длинны или нажата кнопка Сбросить
if(strlen($_POST["k"])<23 || $_POST["command"]=="reset" || $_SESSION['k'] != $_POST["k"]){
my_clear();

В get_function:
Код:
Расширить Свернуть Скопировать
//Все функции
function my_clear(){unset($_SESSION['KeyInfo']);unset($_SESSION['k']);unset($_SESSION['Key']);}
 
Последнее редактирование модератором:
Добрый день, при установке какого-либо решения, всегда одна и та же проблема.
Файл .mod устанавливается корректно, версия какая и должна быть, затем следующая версия, уже файл .upd устанавливается как одна из первых версий модуля(условно вместо 5.2.2 устанавливается 1.0.1). После обновления страницы get_update.php дальше горит кнопка Установить. Затем нажимаю на установку второго файла .upd - и тогда устанавливается соответствующее обновление.

Получается, что следующий файл после .mod не устанавливается, версия пропускается. Часто вижу по модулям не хватку каких-то классов, другие баги.

Хочу понять - это только у меня так? Почему так происходит?
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #612 из 624
Добрый день, при установке какого-либо решения, всегда одна и та же проблема.
Файл .mod устанавливается корректно, версия какая и должна быть, затем следующая версия, уже файл .upd устанавливается как одна из первых версий модуля(условно вместо 5.2.2 устанавливается 1.0.1). После обновления страницы get_update.php дальше горит кнопка Установить. Затем нажимаю на установку второго файла .upd - и тогда устанавливается соответствующее обновление.

Получается, что следующий файл после .mod не устанавливается, версия пропускается. Часто вижу по модулям не хватку каких-то классов, другие баги.

Хочу понять - это только у меня так? Почему так происходит?
Добрый день, на чистой битрикс пробовали проделать тоже самое ? С подобным не сталкивалсяеще ни разу
 
Добрый день, на чистой битрикс пробовали проделать тоже самое ? С подобным не сталкивалсяеще ни разу
Пробовал, два разных сайта - и там и там одинаково.
PHP 8.2

В итоге в основном устанавливаю только свежий .mod
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #614 из 624
папка была на сайте crm.site.ru
теперь пробую с сайта site.ru/upd/get_update.php
Но редиректит на главную страницу
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #616 из 624
А нужно на время установки комментировать строку с модулем в not_mine.php?

Всегда перед установкой или обновлением комментирую
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #618 из 624
А нужно на время установки комментировать строку с модулем в not_mine.php?

Всегда перед установкой или обновлением комментирую
Всегда нужно удалять там модули которые ставите
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #620 из 624
    Сейчас эту тему никто не читает.

Похожие темы

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