Виправлення помилки у бібліотеці 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”. Виправлено.