Ошибка После Обновления Версии Библиотеки Imagick


#1

Здравствуйте! Имеем cs-cart 4.3.9 на виртуальном хостинге. Провайдер обновил версию библиотеки Imagick и сайт выдает ошибку:

PHP Fatal Error

MessageCall to undefined method Imagick::setImageOpacity()

Error at

app/lib/vendor/imagine/imagine/lib/Imagine/Imagick/Imagine.php, line: 82

Backtrace

По нашей просьбе хостер перенес аккаунт на сервер со старой версией Imagick и все заработало.

Ответ хостера:

"Аккаунт перенесен на сервер с ImageMagick 6.9. Проблема должна исчезнуть. Независимо от этого рекомендуем Вам сообщить о проблеме разработчику, так как в течении некоторого времени Imagick будет обновлен на всех серверах."

Вопрос: Как исправить эту ошибку, когда хостер все-таки обновит Imagick?


#2

Напишите в баг трекер. Там разработчики быстрее отреагируют

http://forum.cs-cart.com/tracker/


#3

Imagick 7 пока не поддерживается (https://www.cs-cart.ru/docs/4.6.x/install/system_requirements.html)

Здравствуйте! Имеем cs-cart 4.3.9 на виртуальном хостинге. Провайдер обновил версию библиотеки Imagick и сайт выдает ошибку:

PHP Fatal Error

MessageCall to undefined method Imagick::setImageOpacity()

Error at

app/lib/vendor/imagine/imagine/lib/Imagine/Imagick/Imagine.php, line: 82

Backtrace

По нашей просьбе хостер перенес аккаунт на сервер со старой версией Imagick и все заработало.

Ответ хостера:

"Аккаунт перенесен на сервер с ImageMagick 6.9. Проблема должна исчезнуть. Независимо от этого рекомендуем Вам сообщить о проблеме разработчику, так как в течении некоторого времени Imagick будет обновлен на всех серверах."

Вопрос: Как исправить эту ошибку, когда хостер все-таки обновит Imagick?


#4

А что за хостинг который без уведомления меняет ПО? ДА и вообще виртуальных хостинг зло для магазинов.
Тем более есть специальные решения для CS


#5

Обновил ПО на сервере и посыпалась такая-же ошибка.
Cs-Cart 4.9.3.SP1

Поддержка говорит

Функция Imagick::setimageopacity() является устаревшей в Imagick лишь начиная с версии 7.0. Как мы видим, у вас на сервере используется Imagick версии 6.9.10, в которой этот метод не является устаревшим. Метод setImageAlpha, который должен использоваться вместо setImageOpacity, на вашем
сервере не существует.

Что характерно для Imagick версии меньше 7.0. Т.е. данное оповещение не должно иметь место в текущей ситуации. В данном случае рекомендуем вам обратиться к администратору вашего сервера, для корректной пересборки Imagick.

Я вот что пока мест нашел.
Версия php-imagick обновилась до 3.4.4, а в ней функция setImageOpacity уже отмечена как устаревшая. От сюда и ругань…
Откатился до 3.4.3

… теперь буду разбираться - почему не работает setImageAlpha в 3.4.3

Блин - неужели придётся опять руками собирать…

Я правильно понимаю, что для CS-CART достаточно чтобы был установлен
yum install php-imagick
и всё ???
Ничего больше тянуть не надо, если php -i видит модуль imagick ???


#6

Так, ребята. Была та-же ошибка. Нужно переходить на IM7