【问题标题】:PHP Imagick - ImagickException(code: 420): no decode delegate for this image format *.jpgPHP Imagick - ImagickException(code: 420): no decode delegate for this image format *.jpg
【发布时间】:2016-12-05 17:55:39
【问题描述】:

昨天我添加了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 配置输出

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

有什么想法吗?

【问题讨论】:

  • 这通常发生在您安装的 Imagick 版本是针对不同版本的 ImageMagick 编译的,而不是您安装的版本。您应该尝试从同一来源安装它们。

标签: php jpeg imagick


【解决方案1】:

就我而言,解决方案是 ImageMagick 和 GraphicsMagick 都启用了 PHP 扩展。我不知道为什么,但在安装自定义 PPA 的过程中似乎出了点问题,或者至少不像预期的那样。

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

【讨论】:

    【解决方案2】:

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

    下载你需要的from here,配置安装,默认到/usr/local

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

    注意安装路径,默认在/usr/local(所以你可能需要将你的PHP编译库移动到其他地方,或者改变你的路径)。

    顺便说一句,您肯定需要调用链接器,这肯定是您的问题所在:

    sudo ldconfig /usr/local/lib
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-24
      • 2015-03-25
      • 1970-01-01
      • 2012-02-06
      • 2011-09-30
      相关资源
      最近更新 更多