Виправлення помилки у бібліотеці Imagine
У останніх версіях PHP виникла проблема із сумісністю Imagick з останніми версіями PHP та бібліотеки ImageMagick версії 6, внаслідок чого виникає помилка:
Deprecated: Function Imagick::setimageopacity() is deprecated in ******/app/lib/vendor/imagine/imagine/lib/Imagine/Imagick/Imagine.php on line 88
Проблема вирішується досить просто, для цього вам достатньо відредагувати файл /app/lib/vendor/imagine/imagine/lib/Imagine/Imagick/Imagine.php
Потрібно знайти у файлі рядок
$imagick->setImageOpacity($pixel->getColorValue(\Imagick::COLOR_ALPHA));
і замінити її на
$imagick->evaluateImage(\Imagick::EVALUATE_MULTIPLY, $pixel->getColorValue(\Imagick::COLOR_ALPHA), \Imagick::CHANNEL_ALPHA );
Дане рішення було відтестовано нашими розробниками на кількох версіях інтернет-магазинів і тести показали успішні результати. У випадку виникнення будь яких проблем, прохання повідомляти на пошту support@zahid.host .
Для виправлення на рівні ядра потрібно оновити версію CS-Cart:
4.11.1 Виправлення помилок
[!] Ядро: Зображення: Imagick: Виникала помилка: “PHP Deprecated: Function Imagick::setimageopacity() is deprecated”. Виправлено.