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

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

Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
17,900
Решения
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 других
Может кто-нибудь подсказать.

Не работает скрипт обновления. Происходит бесконечная загрузка и все.

В консоли отловил ошибку Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Причем и локально на open server и на хостинге (beget). Битрикс обновлен до самой последней версии. PHP 8.1

Скрипт версии 2.4.1

Локально запустил отладку и вижу что ошибка происходит при вызове функции разархивации, в файле get_upd.php на строке

$unarch = unarch($request['file']);

Это функция модуля get_function.php

Внутри ошибка происходит на строке - fclose($fp1);

Это же просто закрытие файла.
Причем в папке /bitrix/updates/ появляется папка "update_aspro.max.100.0.0.mod.upd/aspro.max", а в ней файл desktop.ini

Вот строка вызова get_upd.php

Есть версии как исправить?
 
Реакции:
Может кто-нибудь подсказать.

Не работает скрипт обновления. Происходит бесконечная загрузка и все.

В консоли отловил ошибку Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Причем и локально на open server и на хостинге (beget). Битрикс обновлен до самой последней версии. PHP 8.1

Скрипт версии 2.4.1

Локально запустил отладку и вижу что ошибка происходит при вызове функции разархивации, в файле get_upd.php на строке

$unarch = unarch($request['file']);

Это функция модуля get_function.php

Внутри ошибка происходит на строке - fclose($fp1);

Это же просто закрытие файла.
Причем в папке /bitrix/updates/ появляется папка "update_aspro.max.100.0.0.mod.upd/aspro.max", а в ней файл desktop.ini

Вот строка вызова get_upd.php

Есть версии как исправить?
site.com/upd/get_update.php запускаете ведь ?
 
Реакции:
site.com/upd/get_update.php запускаете ведь ?
Да именно так и запускаю.
В общем сейчас уточнил.
Ошибка возникает в
fclose($zp);
$zp - не определена, это null
Поэтому и валится с ошибкой.

А что именно должно быть вместо $zp, не пойму по коду
 
Реакции:
Да именно так и запускаю.
В общем сейчас уточнил.
Ошибка возникает в
fclose($zp);
$zp - не определена, это null
Поэтому и валится с ошибкой.

А что именно должно быть вместо $zp, не пойму по коду
Тоже не пойму, не сталкивался даже. Интересно какой архив требует если файлы формата upd
 
Реакции:
В попробуйте пхп на 8.2 воткнуть, может заведется, либо 8.0
 
Реакции:
В попробуйте пхп на 8.2 воткнуть, может заведется, либо 8.0
А смысл? Если в функции переменная не определена, в любом варианте ошибка будет.
В общем я закомментировал строку fclose($zp);
После чего распаковка произошла
Папка "\bitrix\updates\update_aspro.max.100.0.0.mod.upd\aspro.max" заполнилась подпапками и файлами
Но дальше в get_upd.php словил экзепшн на строке
$uptd = CUpdateClientPartner::UpdateStepModules($updatesDir, $strError = '');

Ошибка - CUpdateClientPartner::UpdateStepModules(): Argument #2 ($strError) cannot be passed by reference

Продолжаю разбираться
 
Реакции:
А смысл? Если в функции переменная не определена, в любом варианте ошибка будет.
В общем я закомментировал строку fclose($zp);
После чего распаковка произошла
Папка "\bitrix\updates\update_aspro.max.100.0.0.mod.upd\aspro.max" заполнилась подпапками и файлами
Но дальше в get_upd.php словил экзепшн на строке
$uptd = CUpdateClientPartner::UpdateStepModules($updatesDir, $strError = '');

Ошибка - CUpdateClientPartner::UpdateStepModules(): Argument #2 ($strError) cannot be passed by reference

Продолжаю разбираться
В общем эта ошибка лечится просто.
Вместо
$uptd = CUpdateClientPartner::UpdateStepModules($updatesDir, $strError = '');
Заменяем на
$strErr = '';
$uptd = CUpdateClientPartner::UpdateStepModules($updatesDir, $strErr);

Собственно пишу, это тут, вдруг кому поможет. Я по форуму видел что народ с подобными проблемами сталкивался, а ответа не было.
 
Реакции:
В общем эта ошибка лечится просто.
Вместо
$uptd = CUpdateClientPartner::UpdateStepModules($updatesDir, $strError = '');
Заменяем на
$strErr = '';
$uptd = CUpdateClientPartner::UpdateStepModules($updatesDir, $strErr);

Собственно пишу, это тут, вдруг кому поможет. Я по форуму видел что народ с подобными проблемами сталкивался, а ответа не было.
Добавлю в решения проблем в первый пост
 
Реакции:
Добавлю в решения проблем в первый пост
А может еще подсказать.
Обновление шаблона прошло успешно. с версии 1.5.4 на версию 2.1.2
В админке все ок.
А сам сайт стал нерабочим. Такое ощущение что шаблону хана. Куда дальше копать? Или же считай заново все делать?
Писал не я его ранее, я только обновляю
 
Реакции:
А может еще подсказать.
Обновление шаблона прошло успешно. с версии 1.5.4 на версию 2.1.2
В админке все ок.
А сам сайт стал нерабочим. Такое ощущение что шаблону хана. Куда дальше копать? Или же считай заново все делать?
Писал не я его ранее, я только обновляю
А какая проблема ? Ошибки какие ? Вероятнее всего связано либо с каким-то модулем либо php версией
 
Реакции:
Реакции:
Реакции:
Что-то со стилями, видимо не корректно обновления встали. Можно модулем поверх залить и все
А может быть можно как-то получить архив с обновлениями версии 1?
Не выходит у меня восстановить работу шаблона.
Так бы попробовал шагово обновится по версиям не переходя на версию 2
 
Реакции:
А может быть можно как-то получить архив с обновлениями версии 1?
Не выходит у меня восстановить работу шаблона.
Так бы попробовал шагово обновится по версиям не переходя на версию 2
Сохраненной нет а выкачать с ключа уже не дает такую старую версию, могу вам обновить с ключа, в личку
 
Реакции:
  • Мне нравится
Реакции: Sandmansss
Всем привет, сделал уже все что было описано в этом форуме, но бесконечная загрузка обновления так и не лечится. Обновлял страницу, включал режим правки, посмотрел все файлы как описывал автор выше, менял версию пхп, ничего не получается
 
Реакции:
Всем привет, сделал уже все что было описано в этом форуме, но бесконечная загрузка обновления так и не лечится. Обновлял страницу, включал режим правки, посмотрел все файлы как описывал автор выше, менял версию пхп, ничего не получается
Разверните сайт локально и посмотрите в отладке где валится ошибка.
Я чуть выше писал.
У меня после правок в get_upd.php и get_function.php все заработало.
 
Реакции:
Разверните сайт локально и посмотрите в отладке где валится ошибка.
Я чуть выше писал.
У меня после правок в get_upd.php и get_function.php все заработало.
я сделал все как у вас, ничего не помогает
 
Реакции:
я сделал все как у вас, ничего не помогает
Тогда только отладка. OpenServer + PHPstorm и отладка.
Других вариантов нет. Надо смотреть на чем валится в ошибку и править код.
А есть еще вариант. Обратится в личку к админу и он за вменяемые деньги обновит с помощью своего ключа.
Я вчера в итоге так и сделал. Много времени себе сэкономил.
 
Реакции:
Добрый день! При установке решения возникает следующая ошибка:
Код:
Расширить Свернуть Скопировать
Fatal error: Trait "Aspro\Allcorp3\Traits\Css" not found in /home/c85127/site.ru/www/bitrix/modules/aspro.allcorp3/classes/general/CAllcorp3.php on line 26
Никак не могу победить
 
Реакции:
Добрый день! При установке решения возникает следующая ошибка:
Код:
Расширить Свернуть Скопировать
Fatal error: Trait "Aspro\Allcorp3\Traits\Css" not found in /home/c85127/site.ru/www/bitrix/modules/aspro.allcorp3/classes/general/CAllcorp3.php on line 26
Никак не могу победить
Разобрался, решил!
 
Реакции:
    Сейчас эту тему никто не читает.

Похожие темы

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