PHP Imagick - ImagickException(代码:420):此图像格式* .jpg没有解码委托

时间:2016-07-31 15:28:57

标签: php jpeg imagick

昨天我包括ondrejs PPA并安装了PHP5,5.6和7.除了imagick功能外,一切正常。确切的例外是:

request.CRITICAL: Uncaught PHP Exception ImagickException: "no decode delegate
for this image format `lorem.jpg' @ error/constitute.c/ReadImage/544" at 
ImageManager.php line 72

所以我检查了所有安装和一些stackoverflow问题,但似乎没有任何工作。更多信息。

convert -list configure output

DELEGATES     bzlib djvu fftw fontconfig freetype jbig jpeg jng jp2 lcms2 lqr lzma openexr pango png rsvg tiff x11 xml wmf zlib

但是phpinfo()

ImageMagick supported formats   no value

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

在我的案例中的解决方案是ImageMagick和GraphicsMagick,其中两者都启用了PHP扩展。我不知道为什么,但是在安装自定义PPA期间似乎出现了问题,或者至少没有达到预期的效果。

禁用GraphicsMagick扩展解决了问题,所有支持的格式都正确地显示在php.ini中,并且所有ImageMagick函数都按预期工作。

答案 1 :(得分:0)

在这篇文章之后,我找到了a solution。我需要的是Perl模块,而不是PHP(相同的错误信息)。

下载所需内容from here,配置并安装,默认为/usr/local

然后,您可以使用正确的选项重新编译imageMagick,编译过程现在将找到依赖项。 (在你的系统上添加lib的路径显然是不够的。)

默认情况下,请注意/usr/local中的安装路径(因此您需要将PHP编译的库移动到其他位置,或者更改路径)。

顺便说一句,你肯定需要调用链接器,肯定是你的情况出了什么问题:

sudo ldconfig /usr/local/lib