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

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

  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1 из 538
Что делает скрипт?
Он позволяет скачать модули и дельта обновления к ним используя ключ битрикса.
Все обновления скачиваются в папку /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. При установке решения, бесконечная загрузка, проблема наблюдается редко, решение:
Включить режим правки
 
Последнее редактирование:
При запуске: get_update.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 ***/public_html/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php on line 21[RuntimeException]


Could not start session because headers have already been sent. "***/public_html/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php":21. (0)

***/public_html/bitrix/modules/main/lib/session/session.php:144

#0: Bitrix\Main\Session\Session->start()

    ***/public_html/bitrix/modules/main/lib/session/kernelsessionproxy.php:47

#1: Bitrix\Main\Session\KernelSessionProxy->start()

    ***/public_html/bitrix/modules/main/include.php:181

#2: require_once(string)

    ***/public_html/bitrix/modules/main/include/prolog_before.php:19

#3: require_once(string)

    ***/public_html/bitrix/modules/main/include/prolog.php:10

#4: require_once(string)

    ***/public_html/bitrix/header.php:1

#5: require(string)

    ***/public_html/upd/get_update.php:3


Есть идеи как побороть?
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #482 из 538
При запуске: get_update.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 ***/public_html/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php on line 21[RuntimeException]


Could not start session because headers have already been sent. "***/public_html/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php":21. (0)

***/public_html/bitrix/modules/main/lib/session/session.php:144

#0: Bitrix\Main\Session\Session->start()

    ***/public_html/bitrix/modules/main/lib/session/kernelsessionproxy.php:47

#1: Bitrix\Main\Session\KernelSessionProxy->start()

    ***/public_html/bitrix/modules/main/include.php:181

#2: require_once(string)

    ***/public_html/bitrix/modules/main/include/prolog_before.php:19

#3: require_once(string)

    ***/public_html/bitrix/modules/main/include/prolog.php:10

#4: require_once(string)

    ***/public_html/bitrix/header.php:1

#5: require(string)

    ***/public_html/upd/get_update.php:3


Есть идеи как побороть?
Функция session_start была вызвана до запуска ядра Bitrix. Рекомендую обратиться в поддержку, должны решить если адекватный хостинг
 
Функция session_start была вызвана до запуска ядра Bitrix. Рекомендую обратиться в поддержку, должны решить если адекватный хостинг

Если смотреть файл get_update.php:
Расширить Свернуть Скопировать
<?php
session_start();
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
require("./get_function.php");
require("./get_const.php");
// Patch 2.4.002 UP maxlength
//Редериктор на главную страницу для пользователей без прав администратора
global $USER;
if(!$USER->IsAdmin())
    LocalRedirect('/');

То и правда до вызова ядра есть session_start(); - зачем именно непонятно - удаление/комментирование мне помогло.
 
Если смотреть файл get_update.php:
Расширить Свернуть Скопировать
<?php
session_start();
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
require("./get_function.php");
require("./get_const.php");
// Patch 2.4.002 UP maxlength
//Редериктор на главную страницу для пользователей без прав администратора
global $USER;
if(!$USER->IsAdmin())
    LocalRedirect('/');

То и правда до вызова ядра есть session_start(); - зачем именно непонятно - удаление/комментирование мне помогло.
Помогло, спасибо!
 
Можно ли установить шаблон на активную лицензию битрикс?
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #486 из 538
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #487 из 538
В первом посте, добавлены решения некоторых проблем, связанных со скриптом нативной установки, буду дополнять.
 
Подскажите пожалуйста, сейчас установлен аспро оптимус 1.7.6 через маркетплейс.
Можно ли обновиться до 1.7.13 этим скриптом?
Делал все по инструкции, но почему-то когда скриптом нажимаю установить версию 1.7.7, все ломается и ставится версия 1.0.1
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #489 из 538
Подскажите пожалуйста, сейчас установлен аспро оптимус 1.7.6 через маркетплейс.
Можно ли обновиться до 1.7.13 этим скриптом?
Делал все по инструкции, но почему-то когда скриптом нажимаю установить версию 1.7.7, все ломается и ставится версия 1.0.1
Обновить можно, когда пропатчите скриптом сайт из not_mine нужно удалить строку с решением, оно туда вписывается
 
Обновить можно, когда пропатчите скриптом сайт из not_mine нужно удалить строку с решением, оно туда вписывается
Да, так и делал, но при нажатии установить напротив 1.7.7 версии, ставится 1.0.1, все ломается соответственно, т.к. 1.0.1 очень старая.
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #491 из 538
Да, так и делал, но при нажатии установить напротив 1.7.7 версии, ставится 1.0.1, все ломается соответственно, т.к. 1.0.1 очень старая.
Странно, не должно быть такого, попробуйте на чистой битрикс
 
Странно, не должно быть такого, попробуйте на чистой битрикс
Спасибо, попробую.
Еще вопрос, а после этого, можно ли возвращать сервер обновлений и пользоваться штатными обновлениями?
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #493 из 538
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #494 из 538
[MP_LICENSE_VIOLATION] В вашу лицензию не входит модуль Аспро: Оптимус - интернет-магазин (aspro.optimus). Вы должны удалить этот модуль.
Хотя в not_mine.php модуль прописан.
Из-за этой ошибки недоступно штатное обновление решений(
Не подскажите, что не так может быть?
Перепишите его в файле, в другое место
 
Столкнулся с такой проблемой.
Пытаюсь обновить aspro.next на одном сайте.
Запустил get_update.php, ядро пропатчилось.
В not_mine.php прописал решение.
Залил обновления в bitrix/updates, но почему-то в списке этих обновлений на странице get_update.php не появилось.
Далее я попробовал залить и основной файл aspro.next.1.0.0.mod.upd и тогда стало ясно, что скрипт не видит, что решение установлено, т.к. кнопка "Установить" отображается напротив самого мода, а у обновлений нет.

1731344517217.webp
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #496 из 538
Столкнулся с такой проблемой.
Пытаюсь обновить aspro.next на одном сайте.
Запустил get_update.php, ядро пропатчилось.
В not_mine.php прописал решение.
Залил обновления в bitrix/updates, но почему-то в списке этих обновлений на странице get_update.php не появилось.
Далее я попробовал залить и основной файл aspro.next.1.0.0.mod.upd и тогда стало ясно, что скрипт не видит, что решение установлено, т.к. кнопка "Установить" отображается напротив самого мода, а у обновлений нет.

1731344517217.png
Добавлять решение в not_mine нужно только после установки через скрипт и на сайте
 
В данном случае не помогает, без разница, есть ли он в not_mine или нет.
Решение было установлено давно через ключ.
Сейчас хотел обновиться через дельту.
Уже делал так на другом сайте, только там был aspro.optimus.
А тут что-то странное.
 
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #498 из 538
В данном случае не помогает, без разница, есть ли он в not_mine или нет.
Решение было установлено давно через ключ.
Сейчас хотел обновиться через дельту.
Уже делал так на другом сайте, только там был aspro.optimus.
А тут что-то странное.
Разница огромная, удаляете, ставите по порядку, должен обновить нормально
 
Так если удалить, то все слетит.

Разобрался.

Ошибка
[Ux11] Ошибка описания модуля "_scode.redirects".
Не установлено соединение с сервером обновлений. [Ux11] Ошибка описания модуля "_scode.redirects".

Удалил модуль _scode.redirects и все появилось и обновилось.

Спасибо
 
вышла новая версия Аспро, в шаблоне есть еще модули которые нужно обновить тоже.

Вопрос, шаблон знаю как обновлять, просто закидываю aspro.premier.1.1.0.delta.upd в папку bitrix/updates, а как обновить модули Аналитика заказов и Аспро AI?
 
    Сейчас эту тему читают:

Похожие темы

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