2016-05-15 44 views
0

我運行了一個站點,可以讓人們上傳JPEGS,然後調整大小並在其頂部應用.png水印。突然得到ImageMagick「不解碼委託」錯誤?

截至今日,很多上傳失敗。

Uncaught ImagickException: no decode delegate for this image format `PNG' @ error/constitute.c/ReadImage/501 

奇怪的是,一些仍然工作正常,完成與水印。

我前幾天做了一個yum update,它安裝了ImageMagick和-devel和-last-libs的新版本,我猜這打破了一些東西。 至於一些上傳仍然有效的事實 - 也許我的一些php-fpm進程仍然以某種方式使用舊版本?

我在CentOS 6

有人點我到一個快速修復這個請,我的網站有數百它的遊客,現在,它要傷害我,如果我不能修復這個!

謝謝。

convert -version給了我這樣的:

Version: ImageMagick 6.8.9-1 Q16 x86_64 2014-05-28 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC 
Features: DPC OpenMP 
Delegates: bzlib freetype jpeg lcms tiff x zlib 

(雖然我不知道它是什麼東西呈現爆發之前)。

這些是我目前已經安裝的軟件包:

ImageMagick-6.7.2.7-4.el6_7.x86_64 
ImageMagick-devel-6.7.2.7-4.el6_7.x86_64 
ImageMagick-last-libs-6.9.4.1-1.el6.remi.x86_64 
php70-php-pecl-imagick-3.4.2-1.el6.remi.x86_64 
+0

奇怪的是,它不只是PNG。我評論了這些代碼行,然後我得到了一個相同的「JPEG」錯誤消息,即使顯示了一個jpeg代理! – Codemonkey

+0

更新imagick以及。從手冊「編譯完成後,Imagick應該使用與編譯時相同版本的ImageMagick運行,針對不同版本的ImageMagick運行已知會導致穩定性問題,因此不推薦或不支持。」 – Danack

+0

我已將當前安裝的項目添加到原始帖子。根據百勝一切都是最新的。 – Codemonkey

回答

1

您是否在升級後重新啓動服務器(Apache或FPM)?

對於每個新版本,編碼器的路徑會發生變化(因爲版本是路徑的一部分),所以需要重新啓動服務器。

請參閱:https://github.com/remicollet/remirepo/issues/33

+0

我沒有。很棒,謝謝。由於一些流程似乎仍然有效,因此我認爲這是新集合的流程不起作用。我想要做的最後一件事是重新啓動服務器並徹底打破一切!重新更新並重新啓動,一切正常,謝謝! – Codemonkey

相關問題