У меня есть веб-приложение, которое использует MVC (yii2), работающее в Ubuntu / lampp. Когда скрипт пытается запустить метод идентификации.
Он ничего не возвращает, но в error_log есть несколько строк, указывающих на отсутствие модуля. Эта ошибка только в формате изображения PNG, в JPEG / JPG работает отлично.
Уже пытался переустановить imagemagick и идентифицировать, но безрезультатно. Также скрипт отлично работает при вызове из командной строки.
Функция модели (getFullPath возвращает правильное значение, здесь проблема не в этом)
public function identify()
{
$cmd = "identify -verbose " . $this->getFullPath();
$cmd = str_replace(['(', ')'], ['\\(', '\\)'], $cmd);
exec($cmd, $o);
return $o;
}
Сценарий, который отлично работает (это просто png, скачанный с Google, мои файлы там не сохраняются)
<?php
$cmd = "identify -verbose /home/timurmengazi/Downloads/O-Academy-rgbrev.png";
exec($cmd, $o);
print_r($o);
?>
Также строки из error_log
identify-im6.q16: unable to load module `/usr/lib/x86_64-linux-gnu/ImageMagick-6.9.7//modules-Q16/coders/png.la': file not found @ error/module.c/OpenModule/1302.
identify-im6.q16: no decode delegate for this image format `PNG' @ error/constitute.c/ReadImage/504.
identify: unable to load module `/usr/lib/x86_64-linux-gnu/ImageMagick-6.9.7//modules-Q16/coders/png.la': file not found @ error/module.c/OpenModule/1302.
identify: no decode delegate for this image format `PNG' @ error/constitute.c/ReadImage/504.
Я использую эту команду для получения метаданных изображения, таких как тип сжатия, качество сжатия и другие данные.