Хак Скрипт нативного обновление модулей

  • Автор темы Автор темы Amaini
  • Дата начала Дата начала

Amaini

Любитель Лапши
Команда форума
Moderator
Разрушитель (V)
Сообщения
403
Реакции
301
Баллы
20 974
Amaini разместил(а) новый ресурс:

Скрипт нативного обновление модулей - Скрипт нативного обновление модулей

Что делает скрипт?
Он позволяет скачать модули и дельта обновления к ним используя ключ битрикса.
Все обновления скачиваются в папку /bitrix/updates в особый формат ".upd"
Так как модуль и обновления это всего лишь файл его становиться легко переносить, передавать, делиться.
Но самое главное, что установка обновлений в скрипте происходит ТОЧНО так же как и в битриксе при использовании АКТИВНОГО КЛЮЧА.

Теперь все просто, достаточно нажать на кнопку установить напротив свеженького дельта...

Посмотреть страницу этого ресурса...
 
Люди добрые, подскажите, пожалуйста, в чем проблема?
На своем ключе битрикса купил продление решений. Запускаю get_update.php, ввожу свой ключ.
Выводятся решения, НО! установить обновления не могу. Можно только скачать модуль и все обновления и только потом поочередно устанавливать все.
Это крайне не удобно, потому что уже есть решения, которые обновлялись с другого ключа.
Есть возможность с помощью данного скрипта доустановить обновления, а не заново переустанавливать решение?
если вы купили продление решений , то в чем проблема обновится с ключа?
 
если вы купили продление решений , то в чем проблема обновится с ключа?
Проблема в том, что скрипт нативной установки не дает установить только недостающие обновления. Надо скачивать все с начала от модуля до последнего обновления, что совсем неудобно, если решение уже настроено. Поэтому я и обратился к знающим людям за помощью.
 
Проблема в том, что скрипт нативной установки не дает установить только недостающие обновления. Надо скачивать все с начала от модуля до последнего обновления, что совсем неудобно, если решение уже настроено. Поэтому я и обратился к знающим людям за помощью.
Зачем скачивать все? скачиваете только те версии которые обновлены, к примеру у вас стоит 1.1.3 а вышло обновление 1.1.4 жмете установить и все, настройки решения должны остаться все. Но резервную копию все равно нужно сделать навсякий
 
Зачем скачивать все? скачиваете только те версии которые обновлены, к примеру у вас стоит 1.1.3 а вышло обновление 1.1.4 жмете установить и все, настройки решения должны остаться все. Но резервную копию все равно нужно сделать навсякий
В том то и дело, что скачать то можно, а вот кнопки Установить нету.
Кнопка установить появляется только у скаченного модуля. Когда его установишь, тогда появляется кнопка Установить и у обновлений.
 
Раньше запускал скрипт и можно было установить неустановленные обновления. Потом такая возможность у меня пропала. Понимаю, если бы это было с одним сайтом, а так у меня эта ситуация со всеми сайтами и разными решениями. Было подозрение, что скрипт какой-то не такой, но ведь он раньше работал. К тому же скачал новый скрипт с текущего ресурса, но ситуация такая же. Вот и спрашиваю в какую сторону копать дальше.
Интересно, кто-то сталкивался с подобной проблемой или нет?
 
В том то и дело, что скачать то можно, а вот кнопки Установить нету.
Кнопка установить появляется только у скаченного модуля. Когда его установишь, тогда появляется кнопка Установить и у обновлений.
ну не вариант скачать модуль его не устанавливать а поставить обновления?
 
ну не вариант скачать модуль его не устанавливать а поставить обновления?
Нет, не вариант, потому что если его не установить, то не появляется кнопка "Установить" напротив модулей.
Скажите, пожалуйста, а у вас такой проблемы нет?
 
Нет, не вариант, потому что если его не установить, то не появляется кнопка "Установить" напротив модулей.
Скажите, пожалуйста, а у вас такой проблемы нет?
нет, по крайней мере когда ставил все не было
 
Подскажите может кто сталкивался с подобной ошибкой при запуске get_update.php?
PHP:
[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)
/web/crm/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php:21
#0: trigger_error
    /web/crm/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php:21
#1: Bitrix\Main\Session\Legacy\HealerEarlySessionStart->process
    /web/crm/bitrix/modules/main/include.php:177
#2: require_once(string)
    /web/crm/bitrix/modules/main/include/prolog_before.php:19
#3: require_once(string)
    /web/crm/bitrix/modules/main/include/prolog.php:10
#4: require_once(string)
    /web/crm/bitrix/header.php:1
#5: require(string)
    /web/crm/upd/get_update.php:3
 
Первой строчкой скрипта прописана функция session_start();
Ошибка: "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)"
Функция вызывается перед ядром Битрикс. Видимо как-то с этим связано. Вопрос почему только у меня такая ошибка
 
проблема не в скрипте а самом битриксе /web/crm/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php:21 ошибка модуле main самого ядра, просто Битрикс через опу перешел на 8.1 а вы хотите что он заработал нормально на 8.2 - и да разница очень существенная с точки зрения типизации передаваемых типов переменных в функциях.

В файле bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php закомментировал 21ю строчку
// trigger_error($exception->getMessage(), E_USER_DEPRECATED);

Скрипт сработал.
Полагаю, тут проблема не в версии php, потому что на всех php не было сработки, а в версии модуля main, который патчит скрипт.
Скрипт пропатчил 2 файла:
/bitrix/modules/main/classes/general/update_client.php
/bitrix/modules/main/classes/general/update_client_partner.php

В данный момент версия модуля main 23.300.300
Если его обновить на более новый или может более новый, то скрипт сработает. Над проверять.

Но тут у меня возникла другая ошибка "Тип кодирования вашей копии не корректен (2)".
Думаю, что-то не так с лицензией, потому что переходил с лицензии на демо, потом обратно на лиценцию.
Буду копать дальше. Буду рад, если подскажите в какую сторону копать
 
Докопался до сути

PHP:
[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)
/web/crm/bitrix/modules/main/lib/session/legacy/healerearlysessionstart.php:21

Ошибка была связана не с версией PHP, а с тем, что у меня были прописаны дополнительные настройки в .settings_extra.php для вывода отладочной информации
PHP:
  'exception_handling' => array (
    'value' => array (
      'debug' => true,
      'handled_errors_types' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE,
      'exception_errors_types' => E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_USER_WARNING & ~E_USER_NOTICE & ~E_COMPILE_WARNING & ~E_DEPRECATED,
      'ignore_silence' => false,
      'assertion_throws_exception' => true,
      'assertion_error_type' => 256,
      'log' => array (
        'settings' => array (
          'file' => 'bitrix/error.log',
          'log_size' => 1000000,
        )
      )
    ),
    'readonly' => false,
  ),

И при этом коде вылазила ошибка. Закомментировал и get_update заработал
И кстати на php 8.2 тоже

Осталось выяснить, почему при вводе лицензионного ключа в скрипт выдает ошибку "Тип кодирования вашей копии не корректен (2)"
 
Друзья, подскажите в чем может быть причина.
- установил локально демку битрикса
- поставил последний скрипт из этой ветки
- ввожу ключ - вижу модули для скачивания
Screenshot_2.png
- скачиваю, устанавливаю - в итоге у меня модули в Демо режиме!
Что делаю не так? Может из-за того что ключ NFR?
 
После установки всех обновлений ядра Битрикс, скрипт перестал запускаться. Выдает 500 ошибку, а в логах появляется 2 ошибки. Как исправить ?

[Fri Dec 22 22:36:40.307264 2023] [fcgid:warn] [pid 15797] [client мой айпи:63356] mod_fcgid: stderr: PHP Fatal error: Cannot declare class CUpdateSystem, because the name is already in use in /var/www/24b87960/data/www/мой сайт/bitrix/modules/main/classes/general/update_class.php on line 13
[Fri Dec 22 22:36:40.307286 2023] [fcgid:warn] [pid 15797] [client мой айпи:63356] mod_fcgid: stderr: PHP Fatal error: ob_start(): Cannot use output buffering in output buffering display handlers in /var/www/24b87960/data/www/мой сайт/bitrix/components/bitrix/ui.toolbar/class.php on line 53
 

Вложения

  • Opera Снимок_2023-12-22_225747.png
    Opera Снимок_2023-12-22_225747.png
    14,1 КБ · Просмотры: 4
Назад
Верх