2012-05-22 79 views
3

我最近轉移到MediaTemple並安裝了ImageMagick和IMagick,他們的知識庫文章hereImageMagick缺少解碼代理

沒有錯誤和phpinfo()顯示模塊正確安裝。

當我試圖通過PHP使用IM JPG圖片上我得到這個錯誤

Uncaught exception 'ImagickException' with message 'no decode delegate for this image format 
/home/149263/domains/wer.com/html/images/pictures/post/tmp/original/' @ error/constitute.c/ReadImage/544' in /nfs/c10/h04/mnt/149263/domains/wer.com/html/application/controllers/post.php:301 
Stack trace: 
#0 /nfs/c10/h04/mnt/149263/domains/wer.com/html/application/controllers/post.php(301): Imagick->__construct('/home/149263/do...') 
#1 [internal function]: Post->filter('punch') 
#2 /nfs/c10/h04/mnt/149263/domains/wer.com/html/system/core/CodeIgniter.php(359): call_user_func_array(Array, Array) 
#3 /nfs/c10/h04/mnt/149263/domains/wer.com/html/index.php(217): require_once('/nfs/c10/h04/mn...') 
#4 {main} thrown in /nfs/c10/h04/mnt/149263/domains/wer.com/html/application/controllers/post.php on line 301 

然而convert -list configure回報

DELEGATES  bzlib djvu fontconfig freetype gvc jpeg jp2 lcms openexr png rsvg tiff wmf x11 xml zlib 

identify -list format回報

JPEG* JPEG  rw- Joint Photographic Experts Group JFIF format (62) 
JPG* JPEG  rw- Joint Photographic Experts Group JFIF format 

所以看起來像安裝是正確的。

ImageMagick 6.7.7-0 2012-05-22 
imagick module version 3.1.0RC1 

任何建議如何解決這個問題?

回答

0

您是否嘗試通過exec()使用Imagemagick運行一些代碼來查看Imagemagick或Imagick是否存在問題?

+0

哎呀,BONZO THX爲回覆 - 這是我的不好,文件名沒有正確傳遞到即時通訊,因此它崩潰 - 提示是第二行的錯誤日誌上面顯示沒有文件名 – pepe

+0

很高興其排序;儘管IM的錯誤報告有時會令人困惑。 – Bonzo

9

在Ubuntu 12.04上安裝最新的(本文撰寫時爲6.8.4-6版本)ImageMagick,這裏有一個快速和骯髒的問題。

開始刪除任何舊版本以前通過安裝apt-get的:

sudo易於得到刪除ImageMagick的

然後更新apt-get和安裝一些配套的軟件包:

sudo apt-get update 
sudo apt-get install libperl-dev gcc libjpeg-dev libbz2-dev libtiff4-dev libwmf-dev libz-dev libpng12-dev libx11-dev libxt-dev libxext-dev libxml2-dev libfreetype6-dev liblcms1-dev libexif-dev perl libjasper-dev libltdl3-dev graphviz pkg-config 

使用wget從ImageMagick.org獲取源代碼。

一旦源被下載,解壓:

tar -xzf ImageMagick.tar.gz 

現在配置,使:

cd ImageMagick-6.8.4-6 
./configure 
sudo make 
sudo make install 

爲了避免出現這樣的錯誤:

convert: error while loading shared libraries: libMagickCore.so.2: cannot open shared object file: No such file or directory 

添加以下行到~/.bashrc

export LD_LIBRARY_PATH=/usr/local/lib 

更新:如果你仍然得到像上面這樣一個錯誤,嘗試運行ldconfig命令:

sudo ldconfig 

可以確認與安裝和可用的格式:

identify -list format