我花了很多时间谷歌搜索这个问题,但无济于事,所以我希望能在这里得到一些帮助。
我使用的是 Ubuntu 14.04,我已经安装了 php5-imagick、ImageMagick 和一些额外的库以使其正常运行。从命令行测试安装工作完美,所有委托(delegate)都根据“convert -list configure”安装(输出如下所示)。
它之前工作和表现完美。我唯一能想到的是 Ubuntu 的一些系统/安全更新。在出现此错误之前,我的代码和 IM 安装均未被任何用户操作更改。
问题是当我从我的 PHP 脚本调用 Imagick 时,它显示了这个错误:
#420: no decode delegate for this image format '/' @ error/constitute.c/ReadImage/544
JPG 和 PNG 均显示此错误。
非常感谢任何帮助!
'convert -version' 的输出:
Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
“convert -list configure”的输出:
DELEGATES bzlib djvu fftw fontconfig freetype jbig jpeg jng jp2 lcms2 lqr lzma openexr pango png rsvg tiff x11 xml wmf zlib
LIBS -lMagickCore -llcms2 -ltiff -lfreetype -ljpeg -llqr-1 -lglib-2.0 -lfftw3 -lfontconfig -lfreetype -lXext -lSM -lICE -lX11 -lXt -llzma -lbz2 -lz -lm -lgomp -lpthread -lltdl
最佳答案
我认为这里的问题是 Imagemagick 没有配置为支持 SVG。安装基本的 php5-imagick 包不会带来执行此操作所需的一些额外功能。
要在 PHP Imagick 中安装对 SVG 的支持,请在相关服务器的终端中键入以下内容:
sudo apt-get update
sudo apt-get install libmagickcore5-extra
Apt 将列出大量依赖包,包括 SVG 库,并询问您是否要继续。按 Y 让它继续。
关于Ubuntu 14.04 上的 php5-imagick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26273508/