В более новой версии функция Imagick::setimageopacity помечена как deprecated, вероятно чтобы стимулировать переход на версию 7.
Логично, что в более старой версии она не была помечена как устаревшая.
Вы хотите сказать, что при изменении библиотеки на хостинге ошибка кода cs-cart PHP Deprecated: Function Imagick::setimageopacity() is deprecated in /app/lib/vendor/imagine/imagine/lib/Imagine/Imagick/Imagine.php on line 88
исчезнет?
Мне кажется, при обновлении библиотеки на сервере, этот код совсем перестанет работать…
Поправьте, если ошибаюсь.
То ли лыжи не едут, то ли …
4.11.1 Исправления ошибок
[!] Ядро: Изображения: Imagick: Возникала ошибка: “PHP Deprecated: Function Imagick::setimageopacity() is deprecated”. Исправлено.
Получается я тереблю поддержку хостера, говорю исправьте свою ошибку, трепаю себе и всем нервы, а оказывается это баг цскарт, который то “Не признано багом”? Ребята, вы вообще как там поживаете?
вот кусок кода из imagine, в котором возникала ошибка:
if (version_compare('6.3.1', $this->getVersion($imagick)) < 0) {
// setImageOpacity was replaced with setImageAlpha in php-imagick v3.4.3
if (method_exists($imagick, 'setImageAlpha')) {
$imagick->setImageAlpha($pixel->getColorValue(\Imagick::COLOR_ALPHA));
} else {
$imagick->setImageOpacity($pixel->getColorValue(\Imagick::COLOR_ALPHA));
}
}
т.е. да, при обновлении Imagick на хостинге ошибка исчезнет, как мы и писали выше.
В ядро вошел патч для тех кто по какой-то причине не может обновить Imagick на своем сервере. Патч обновляет библиотеку imagine. В новой версии вызов этого метода никуда не делся, разработчики imagine просто добавили подавление ошибок в месте вызова.
Обновление до 7 версии не решает проблему, она только маскируется, точнее ошибка не выводится, но функционал не работает. Мы пока реализовали такой вариант исправления ошибки, прошу проверить и подтвердить все ли работает корректно: https://zahid.host/ru/ispravlenie-oshibki-v-biblioteke-imagine/
Хотя проблему почему-то не признали багом, считаю что исправление реализованное в 4.11.1 не корректно, и нуждается в повторном исправлении, так как функция банально отключается, хотя пользователь рассчитывает на то что она работает корректно.