ImageMagick tidak memiliki delegasi dekode

Saya baru-baru ini pindah ke MediaTemple dan menginstal ImageMagick dan IMagick mengikuti artikel KB mereka di sini.

Tidak ada kesalahan dan phpinfo() menampilkan modul terpasang dengan benar.

Ketika saya mencoba menggunakan IM pada gambar JPG melalui PHP saya mendapatkan kesalahan ini

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

Namun convert -list configure kembali

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

dan identify -list format kembali

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

Jadi sepertinya instalasinya sudah benar.

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

Ada saran bagaimana cara memecahkan masalah ini?


person pepe    schedule 22.05.2012    source sumber


Jawaban (2)


Berikut cara cepat dan kotor dalam menginstal ImageMagick terbaru (versi 6.8.4-6 saat tulisan ini dibuat) di Ubuntu 12.04.

Mulailah dengan menghapus versi lama yang sebelumnya diinstal melalui apt-get:

sudo apt-get hapus imagemagick

Kemudian perbarui apt-get dan instal beberapa paket pendukung:

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

Gunakan wget untuk mengambil sumber dari ImageMagick.org.

Setelah sumber diunduh, buka kompresinya:

tar -xzf ImageMagick.tar.gz

Sekarang konfigurasikan dan buat:

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

Untuk menghindari kesalahan seperti:

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

Tambahkan baris berikut ke ~/.bashrc:

export LD_LIBRARY_PATH=/usr/local/lib

Update: Jika masih mendapatkan error seperti di atas, coba jalankan ldconfig:

sudo ldconfig

Anda dapat mengonfirmasi pemasangan dan format yang tersedia dengan:

identify -list format
person Chandan    schedule 04.04.2013

Sudahkah Anda mencoba menjalankan beberapa kode menggunakan Imagemagick melalui exec() untuk melihat apakah masalahnya ada pada Imagemagick atau Imagick?

person Bonzo    schedule 22.05.2012
comment
argh, bonzo terima kasih sudah membalas - ini kesalahan saya, nama file tidak diteruskan dengan benar ke IM dan oleh karena itu macet - petunjuknya adalah baris ke-2 dari log kesalahan di atas tidak menunjukkan nama file - person pepe; 23.05.2012
comment
Senang sudah disortir; meskipun pelaporan kesalahan IM terkadang membingungkan. - person Bonzo; 23.05.2012