• Гость в разделе 1С-Битрикс все ссылки на модули, шаблоны и т.д. помещаем под хайд не менее 150 симпатий.
  • Обязательно ознакомьтесь с правилами форума!
  • Последнее редактирование:
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1
Последнее редактирование:
Что делает скрипт?
Он позволяет скачать модули и дельта обновления к ним используя ключ битрикса.
Все обновления скачиваются в папку /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. При установке решения, бесконечная загрузка, проблема наблюдается редко, решение:
Включить режим правки
 
Последнее редактирование:

ivan2345

Banned
Регистрация
16.05.22
Сообщения
26
Симпатии
7
Пожалуйста, обратите внимание, если Вы хотите заключить сделку с этим пользователем, что он заблокирован.

Вложения

  • Скриншот 17-07-2024 151151.jpg
    Скриншот 17-07-2024 151151.jpg
    35.6 KB · Просмотры: 5
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
12,620
Решения
1
Симпатии
13,121
Веб-сайт
itnull.info
  • Последнее редактирование:
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #442
Последнее редактирование:
И потом по Вашей инструкции пытался запустить get_function.php через ссылку но никакой реакции нет.
upd/get_update.php ядро точно пропатчилось ? Если обновления ставили, пробуйте еще раз запустить скрипт и потом лишнее все из файла удаляем и оставляем только то что установлено в действительности из решений
 
Последнее редактирование:

ivan2345

Banned
Регистрация
16.05.22
Сообщения
26
Симпатии
7
Пожалуйста, обратите внимание, если Вы хотите заключить сделку с этим пользователем, что он заблокирован.
При upd/get_update.php появляются модули, которые у меня установлены, там всё нормально (см. скриншот). Мне надо другое - скрыть установленный шаблон Deluxe "dw.deluxe".
Ядро да, пропатчилось, было сообщение об этом и я удачно после этого установил шаблон Deluxe.


Чтобы скрыть, я сделал по Вашей инструкции в этой теме:
Теперь скрипт умеет скрывать собственные модули, которые не входят в вашу редакцию. Достаточно внести название модуля в список файла "not_mine.php" и запустить скрипт "get_function.php" для автоматического внесения изменений.



Но это не помогло, "dw.deluxe" уже был записан в списке "not_mine.php", а "get_function.php" не запускается.
 

Вложения

  • Скриншот 17-07-2024 151916.jpg
    Скриншот 17-07-2024 151916.jpg
    266.6 KB · Просмотры: 13
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
12,620
Решения
1
Симпатии
13,121
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #444
При upd/get_update.php появляются модули, которые у меня установлены, там всё нормально (см. скриншот). Мне надо другое - скрыть установленный шаблон Deluxe "dw.deluxe".
Ядро да, пропатчилось, было сообщение об этом и я удачно после этого установил шаблон Deluxe.


Чтобы скрыть, я сделал по Вашей инструкции в этой теме:
Теперь скрипт умеет скрывать собственные модули, которые не входят в вашу редакцию. Достаточно внести название модуля в список файла "not_mine.php" и запустить скрипт "get_function.php" для автоматического внесения изменений.



Но это не помогло, "dw.deluxe" уже был записан в списке "not_mine.php", а "get_function.php" не запускается.
Вероятно что-то не так делаешь, подобных проблем не было ни разу
 

ivan2345

Banned
Регистрация
16.05.22
Сообщения
26
Симпатии
7
Пожалуйста, обратите внимание, если Вы хотите заключить сделку с этим пользователем, что он заблокирован.
Вероятно что-то не так делаешь, подобных проблем не было ни разу
Всё сделал по Вашей инструкции, по несколько раз сверил, сайт на Deluxe работает, но скрыть так и не получается.
 

ivan2345

Banned
Регистрация
16.05.22
Сообщения
26
Симпатии
7
Пожалуйста, обратите внимание, если Вы хотите заключить сделку с этим пользователем, что он заблокирован.
Всё сделал по Вашей инструкции, по несколько раз сверил, сайт на Deluxe работает, но скрыть так и не получается.
РАЗОБРАЛСЯ САМ! ПОЛУЧИЛОСЬ! Все дело в том, что у меня настроена мультисайтовость и я хотел сделать обновления через второй сайт, на котором настроены символьные ссылки, а надо менять сервер обновления и обновляться на главном сайте и тогда скроются установленные нативной установкой модули, шаблон и можно будет обновиться с сервера Битрикса.

iTnull Спасибо большое за быстрые ответы!​

 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
12,620
Решения
1
Симпатии
13,121
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #447
РАЗОБРАЛСЯ САМ! ПОЛУЧИЛОСЬ! Все дело в том, что у меня настроена мультисайтовость и я хотел сделать обновления через второй сайт, на котором настроены символьные ссылки, а надо менять сервер обновления и обновляться на главном сайте и тогда скроются установленные нативной установкой модули, шаблон и можно будет обновиться с сервера Битрикса.

iTnull Спасибо большое за быстрые ответы!​

Хорошо что разобрались
 

lovi_dzen

Пользователь
Вы с нами 2 года! Спасибо. За классный аватар За год с нами
Регистрация
05.08.22
Сообщения
114
Симпатии
29
РАЗОБРАЛСЯ САМ! ПОЛУЧИЛОСЬ! Все дело в том, что у меня настроена мультисайтовость и я хотел сделать обновления через второй сайт, на котором настроены символьные ссылки, а надо менять сервер обновления и обновляться на главном сайте и тогда скроются установленные нативной установкой модули, шаблон и можно будет обновиться с сервера Битрикса.

iTnull Спасибо большое за быстрые ответы!​

Все верно молодец, что разобрался. Если настроена мультисайтовость, то все модули желательно устанавливать через основной сайт (где ядро стоит), более того убирать из not_mine.php модуль, который устанавливаете (если он нативно там добавлен) чтобы не было конфликта с установкой, после установки вернуть в not_mine.php и копировать данный файл в основной раздел второго сайта и будет счастье)
 

ivan2345

Banned
Регистрация
16.05.22
Сообщения
26
Симпатии
7
Пожалуйста, обратите внимание, если Вы хотите заключить сделку с этим пользователем, что он заблокирован.
Все верно молодец, что разобрался. Если настроена мультисайтовость, то все модули желательно устанавливать через основной сайт (где ядро стоит), более того убирать из not_mine.php модуль, который устанавливаете (если он нативно там добавлен) чтобы не было конфликта с установкой, после установки вернуть в not_mine.php и копировать данный файл в основной раздел второго сайта и будет счастье)
"Если настроена мультисайтовость, то все модули желательно устанавливать через основной сайт (где ядро стоит)"

Спасибо уже так сделал, не знал до этого из-за чего ошибка и потратил на разбор полдня.

"более того убирать из not_mine.php модуль, который устанавливаете (если он нативно там добавлен) чтобы не было конфликта с установкой, после установки вернуть в not_mine.php и копировать данный файл в основной раздел второго сайта"

Все модули и шаблон установились нормально без этих манипуляций, но если в будущем, будут с каким-либо модулем проблема во время установки и пользования, попробую воспользоваться Вашим советом.
 

lovi_dzen

Пользователь
Вы с нами 2 года! Спасибо. За классный аватар За год с нами
Регистрация
05.08.22
Сообщения
114
Симпатии
29
"Если настроена мультисайтовость, то все модули желательно устанавливать через основной сайт (где ядро стоит)"

Спасибо уже так сделал, не знал до этого из-за чего ошибка и потратил на разбор полдня.

"более того убирать из not_mine.php модуль, который устанавливаете (если он нативно там добавлен) чтобы не было конфликта с установкой, после установки вернуть в not_mine.php и копировать данный файл в основной раздел второго сайта"

Все модули и шаблон установились нормально без этих манипуляций, но если в будущем, будут с каким-либо модулем проблема во время установки и пользования, попробую воспользоваться Вашим советом.
У вас скорее всего не было ошибки, потому что locallhost прописывали вместо сервера, я обычно не прописываю и поэтому нужно убирать из not_mine.php
 
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
12,620
Решения
1
Симпатии
13,121
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #451
Я тоже не меняю сервер, только скрываю то что устанавливаю, после того как пропатчил ядро.
 

troadster

Пользователь
За год с нами За классный аватар
Регистрация
19.09.23
Сообщения
2
Симпатии
0
Делаю всё по инструкции. Версия РHP 8.1.26. Получаю ошибку:
Ошибка:
[ErrorException] E_USER_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. (0)

/public_html/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php:21

Так же пробовал откатиться до 8.0 и использовать более старую версию модуля - всё равно не помогает. В чем проблема?

И пробовал как на хостинге. Так и на локалке - всё тщетно
 

zhmiher

Пользователь
За год с нами За классный аватар
Регистрация
05.02.23
Сообщения
56
Симпатии
16
  • Последнее редактирование модератором:
Последнее редактирование модератором:
у меня на одном проекте
Код:
Fatal error:  Cannot declare class CUpdateSystem, because the name is already in use in /home/bitrix/www/bitrix/modules/main/classes/general/update_class.php on line 13
[ErrorException] E_ERROR
Cannot declare class CUpdateSystem, because the name is already in use (0)
/home/bitrix/www/bitrix/modules/main/classes/general/update_class.php:13
----------
 
Последнее редактирование модератором:

lovi_dzen

Пользователь
Вы с нами 2 года! Спасибо. За классный аватар За год с нами
Регистрация
05.08.22
Сообщения
114
Симпатии
29
у меня на одном проекте
Fatal error: Cannot declare class CUpdateSystem, because the name is already in use in /home/bitrix/www/bitrix/modules/main/classes/general/update_class.php on line 13
[ErrorException] E_ERROR
Cannot declare class CUpdateSystem, because the name is already in use (0)
/home/bitrix/www/bitrix/modules/main/classes/general/update_class.php:13
----------
Читайте тему, проблема подобная обсуждалась, как минимум я писал что может помочь (скорее всего скрипт был использован ранее. потом обновился Битрикс, и теперь происходит конфликт классов), если вкратце, то проверьте наличие патча у файлов update или замените файлы из нового портала (обновленного до последней версии) и заново запустите скрипт
 

lovi_dzen

Пользователь
Вы с нами 2 года! Спасибо. За классный аватар За год с нами
Регистрация
05.08.22
Сообщения
114
Симпатии
29
Делаю всё по инструкции. Версия РHP 8.1.26. Получаю ошибку:
Ошибка:
[ErrorException] E_USER_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. (0)

/public_html/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php:21

Так же пробовал откатиться до 8.0 и использовать более старую версию модуля - всё равно не помогает. В чем проблема?

И пробовал как на хостинге. Так и на локалке - всё тщетно
Проверьте файлы .settings.php или .settings_extra.php на наличие вывода ошибок (это 'handled_errors_types' и 'exception_errors_types') уберите вывод ошибок E_USER_DEPRECATED и все будет ок) А вообще данная ошибка связана с php и вопрос в сервере и его настройке, если у вас на хостинге и локалке одно и тоже, то видимо не в хосте дело, а в настройках или стаке. Если не поможет и надо просто поюзать можно закоментить строку 21 в healerearlysessionstart.php и все, если для продакта то лучше найти решение проблемы, либо правильно перенести сайт на новый, правильно настроенный сервер
 

troadster

Пользователь
За год с нами За классный аватар
Регистрация
19.09.23
Сообщения
2
Симпатии
0
Ответ:
Проверьте файлы .settings.php или .settings_extra.php на наличие вывода ошибок (это 'handled_errors_types' и 'exception_errors_types') уберите вывод ошибок E_USER_DEPRECATED и все будет ок)
Убрал вообще строки с handled_errors_types и exception_errors_types - всё заработало, кажется. Спасибо большое за оперативный ответ!
 

zhmiher

Пользователь
За год с нами За классный аватар
Регистрация
05.02.23
Сообщения
56
Симпатии
16
Читайте тему, проблема подобная обсуждалась, как минимум я писал что может помочь (скорее всего скрипт был использован ранее. потом обновился Битрикс, и теперь происходит конфликт классов), если вкратце, то проверьте наличие патча у файлов update или замените файлы из нового портала (обновленного до последней версии) и заново запустите скрипт
пробывал,выше,не получилсоь
 

lovi_dzen

Пользователь
Вы с нами 2 года! Спасибо. За классный аватар За год с нами
Регистрация
05.08.22
Сообщения
114
Симпатии
29
пробывал,выше,не получилсоь
К сожалению у этой проблемы много зависимостей, там и версия php и веб-сервер и его настройки и хостинг могут влиять. У меня проблема решалась как описывал. Попробуйте еще такой способ:
в файле get_function.php закомментировать строчку
Код:
//require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/update_class.php");
 

zhmiher

Пользователь
За год с нами За классный аватар
Регистрация
05.02.23
Сообщения
56
Симпатии
16
К сожалению у этой проблемы много зависимостей, там и версия php и веб-сервер и его настройки и хостинг могут влиять. У меня проблема решалась как описывал. Попробуйте еще такой способ:
в файле get_function.php закомментировать строчку
Код:
//require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/update_class.php");
получилось закоментировал две строчки и начал обновлять дельты

Код:
//require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/update_class.php");
//require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/update_client_partner.php");
 

KostyaUzzz

Пользователь
За год с нами За классный аватар
Регистрация
10.04.23
Сообщения
10
Симпатии
2
1722501197512.png
Распокавал шаблон в корень
запускаю /upd/get_update.php

выходит это

1722501315209.png

Что делать ? не понятно
 

Создайте аккаунт или войдите, чтобы комментировать

Вы должны быть участником, чтобы оставлять комментарии

Зарегистрироваться

Создайте учетную запись. Это просто!

Авторизация

Уже есть аккаунт? Авторизуйтесь.

Похожие темы

Ответы
0
Просмотры
580
Ответы
0
Просмотры
1K
  • Закрыта
Здравствуйте. Кто уже имеет опыт в настройке модуля "Мультиязычность: Инфоблоки на разных...
Ответы
2
Просмотры
314
Добрый вечер такой вопрос, может кто сталкивался В админке (если выполнится вход из под любой...
Ответы
0
Просмотры
376
Ответы
2
Просмотры
2K
Сверху Снизу