当webapp调用脚本时无法加载模块,从cli运行时完美运行

时间:2019-05-01 10:39:10

标签: php ubuntu imagemagick

我有一个使用在Ubuntu / lampp上运行的MVC(yii2)的Web应用程序。当脚本尝试运行identify方法时。 它不返回任何内容,但是error_log包含一些行,说明缺少模块的事实。此错误仅适用于PNG图像格式,在JPEG / JPG上可以完美运行。

已经尝试重新安装imagemagick并进行识别,但是没有结果。另外,从命令行调用该脚本时,脚本也可以完美运行。

模型函数(getFullPath返回正确的值,这不是问题)

public function identify()
{
        $cmd = "identify -verbose " . $this->getFullPath();
        $cmd = str_replace(['(', ')'], ['\\(', '\\)'], $cmd);
        exec($cmd, $o);
        return $o;   
}

脚本运行完美(只是从google下载的png文件,我的文件未保存在其中)

<?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.

我正在使用此命令来获取图像元数据,例如压缩类型,压缩质量和其他内容。

0 个答案:

没有答案