Ioncube_license_properties () возвращает разные значения в разных частях программы

Я пытаюсь использовать функцию ioncube_license_properties(), чтобы получить закодированное свойство в моем проекте. Но у меня проблема - функция возвращает false в методе класса и возвращает фактическое значение в файле процедуры.

У меня следующий код. Класс:

class User {
    /**
     * Check is can login with new user.
     * @return bool
     */
    public static function validateLicense()
    {
        if (function_exists('ioncube_license_properties')) {
            $count = ioncube_license_properties()['allowedUserCount']['value']; // ioncube_license_properties() returns false there
            if ($count === 10) {
                //info($message . 'User can login.');
            } else {
                //warning($message . 'Access denied for.');
            }
            return $isCanLogin;
        } else {
            //warning('Can\'t find Ioncube function `ioncube_license_properties()`.');
            return true;
        }
    }
}

простой файл php (это файл представления модели MVC):

if (function_exists('ioncube_license_properties')) {
    var_dump(['validateLicense' => User::validateLicense()]); // false always
    var_dump(['$allowedUserCount' => $allowedUserCount = ioncube_license_properties()['allowedUserCount']['value']]); // returns actual value int(10)
}

Почему функция возвращает неверное значение в методе класса и как это исправить?

Использование проекта Yii2.

Ваш код плохой, поскольку он слепо предполагает, что возвращаемое значение ioncube_license_properties () является массивом. Что, если это не так? См. Руководство пользователя. Может быть еще что-нибудь?

Nick 20.03.2018 02:34

@ Ник, я понял, в чем дело. Я кодирую файлы с помощью файла лицензии, но в файле класса не установил. В руководстве говорится, что ioncube_license_properties() вернет false, если файл закодирован без файла лицензии. Я дурак

Oleg 20.03.2018 12:37

Отлично, рад, что вы ее решили. Файлы лицензий зашифрованы, и помимо пароля, который вы можете установить, для ключа используется другая информация, которая предотвращает работу даже той же парольной фразы, которую использует кто-то другой. Таким образом, файлы должны быть закодированы, чтобы содержать соответствующие метаданные файла лицензии.

Nick 21.03.2018 15:58
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
358
0

Другие вопросы по теме