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

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

Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
17,903
Решения
2
Реакции
22,207
Веб-сайт
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. При установке решения, бесконечная загрузка, проблема наблюдается редко, решение:
Включить режим правки
 
Последнее редактирование:
Реакции:
  • Мне нравится
Реакции: kroki, AlexBeleckiy, sl.max и 86 других
Реакции:
Это может быть связано, что get_function.php выдает ошибку 500?
 
Реакции:
Реакции:
По пути сайт/upd/get_update.php не открывает файл, закидал по bitrix пользователем, меня провал, менял
В файле get_update.php найти session_start(); заменить на //session_start();

Все равно не запускается, на другом сервере тестовом запускается. В чем может быть причина? На обоих одинаковых mysql и php, та же система и тд.
 
Последнее редактирование модератором:
Реакции:
По пути сайт/upd/get_update.php не открывает файл, закидал по bitrix пользователем, меня провал, менял
В файле get_update.php найти session_start(); заменить на //session_start();

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





Посмотреть вложение 12558
Посмотрите лог ошибок, на что ссылается 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 сразу происходит редирект на главную страницу.
 
Реакции:
Реакции:
Добрый день всем. Возникла проблема вызова функции обновления при установке обновления на Аспро Максимум 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']);}
 
Последнее редактирование модератором:
Реакции:
  • Мне нравится
Реакции: iTnull
Добрый день, при установке какого-либо решения, всегда одна и та же проблема.
Файл .mod устанавливается корректно, версия какая и должна быть, затем следующая версия, уже файл .upd устанавливается как одна из первых версий модуля(условно вместо 5.2.2 устанавливается 1.0.1). После обновления страницы get_update.php дальше горит кнопка Установить. Затем нажимаю на установку второго файла .upd - и тогда устанавливается соответствующее обновление.

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

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

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

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

В итоге в основном устанавливаю только свежий .mod
 
Реакции:
Реакции:
папка была на сайте crm.site.ru
теперь пробую с сайта site.ru/upd/get_update.php
Но редиректит на главную страницу
 
Реакции:
Реакции:
А нужно на время установки комментировать строку с модулем в not_mine.php?

Всегда перед установкой или обновлением комментирую
 
Реакции:
А нужно на время установки комментировать строку с модулем в not_mine.php?

Всегда перед установкой или обновлением комментирую
Всегда нужно удалять там модули которые ставите
 
Реакции:
Реакции:
Реакции:
  • Мне нравится
Реакции: fotorider
    Сейчас эту тему никто не читает.

Похожие темы

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