Делал небольшой плагин для WP который в числе прочего конвертирует SVG в JPG. На моем хостинге все ок, на хостинге клиента ошибка
PHP Fatal error: Uncaught ImagickException: no decode delegate for this image format
На моем хостинге версия ImageMagick 7.1.0-20 Q16-HDRI x86_64 2022-01-22, версия PHP 8.2.4
У клиента ImageMagick 6.9.7-4 Q16 x86_64 20170114, версия php 8.2.13
Версии модуля Imagick одинаковые - 3.7.0
Поддержка хостинга клиента отказывается обновлять ImageMagick
Пакеты librsvg2, libxml2, Ghostscript, FreeType, libmagickcore-6.q16-3-extra у клиента на хостинге стоят
В чем еще может быть причина ошибки? И какие пакеты должны быть установлены, чтобы работало?
Код такой:
$imagick = new Imagick();
$imagick->readImageBlob($svg_content);
if ($imagick->getImageBlob() === false) {
error_log(print_r($imagick->getLastErrorMessage(), 1));
}
$imagick->setImageBackgroundColor('#d8d8d8');
$imagick->setImageResolution(72, 72);
$imagick->setImageFormat('jpg');
$imagick->setImageCompressionQuality(95);
$imagick->resizeImage($image_width, $image_height, Imagick::FILTER_LANCZOS, 1);
$fileName = 'converted_image_' . uniqid() . '.jpg';
$file_path = $upload_dir['path'] . '/' . $fileName;
$imagick->writeImage($file_path);
if ($imagick->getImageBlob() === false) {
error_log(print_r($imagick->getLastErrorMessage(), 1));
}
$imagick->clear();