Задать вопрос
@harts_1493

Как заблокировать обновление моего решения, если например: версия PHP ниже?

Как правильно заблокировать своё обновление, чтобы пользователь не смог обновиться если битрикс или php версия не соответствует минимальным требованиям?
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
Ge1i0N
@Ge1i0N
Нужно добавить в updater.php модуля код проверки версии того, что нужно.
Например, для проверки версии php:
$isLowPhpVersion = version_compare(phpversion(), '8.0.0', '<');
if ($isLowPhpVersion) {
    $errorMessage = 'Module require php 8.0 or higher.';
    return false;
}

Важно учесть, что updater.php не позволяет работать со строками локализации, текст ошибки нужно спразу писать на том языке, который нужен.

Также, нужно иметь в виду, что модуль может не только быть обновлен до нужной версии, но сразу скачан последней версии - нужно также вставить проверку при установке модуля, например добавив что-то такое в DoInstall в install.php модуля:
global $APPLICATION;
\Bitrix\Main\Localization\Loc::loadMessages(__FILE__);

$isLowPhpVersion = version_compare(phpversion(), '8.0.0', '<');
if ($isLowPhpVersion) {
    $APPLICATION->ThrowException(\Bitrix\Main\Localization\Loc::getMessage('CHECK_PHP_VERSION_ERROR'));
    return false;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы