Цитата |
---|
написал: Благодарю за разъяснения, но проблема в другом, то что константа другая это я знаю. Проблема в том что BX_RESIZE_PROPORTIONAL_ALT и тому подобные константы прописаны в файле у битрикса по пути /bitrix/modules/main/start.php. Вопрос в том что почему на php7.4 он их находит, а на php8 нет. Не особо хочется по всему проекту бегать и менять все константы. Но если другого пути не будет, то придется. |
Это вопрос к поведению PHP. Скорее всего на 7-ке при указании несуществующей константы передаётся типа false и битрикс работает, как будто параметр не передан, а в 8 изменили поведение и указание несуществующей константы - запрещено. Вы уточните, кто у Вас ругается, именно само ядро битрикса или PHP. Текст ошибки покажите.
Я давно пользуюсь этой функцией, и при переходе с 7.4 на 8.2 с ResizeImageGet таких проблем не было, возможно Вы изначально неверно указали константу, а потом копипастой переносили её и на 7.4 это не считалось ошибкой.
У меня в указанном Вами файле определены 3 константы
define('BX_RESIZE_IMAGE_PROPORTIONAL_ALT', 0);
define('BX_RESIZE_IMAGE_PROPORTIONAL', 1);
define('BX_RESIZE_IMAGE_EXACT', 2);
Та, что Вы используете = 0, как раз вписывается в теорию по указанию несуществующей константы.