ImageMagick ขาดผู้ได้รับมอบหมายการถอดรหัส

ฉันเพิ่งย้ายไปที่ MediaTemple และติดตั้ง ImageMagick และ IMagick ตามบทความ KB ที่นี่

ไม่มีข้อผิดพลาดและ phpinfo() แสดงโมดูลที่ติดตั้งอย่างถูกต้อง

เมื่อฉันพยายามใช้ IM บนรูปภาพ JPG ผ่าน PHP ฉันได้รับข้อผิดพลาดนี้

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

ข้อเสนอแนะใด ๆ วิธีแก้ไขปัญหานี้?


person pepe    schedule 22.05.2012    source แหล่งที่มา


คำตอบ (2)


นี่เป็นความรวดเร็วและสกปรกในการติดตั้ง ImageMagick ล่าสุด (เวอร์ชัน 6.8.4-6 ณ วันที่เขียนนี้) บน Ubuntu 12.04

เริ่มต้นด้วยการลบเวอร์ชันเก่าที่ติดตั้งไว้ก่อนหน้านี้ผ่าน apt-get:

sudo apt-get ลบ 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
person Chandan    schedule 04.04.2013

คุณได้ลองใช้โค้ดโดยใช้ Imagemagick ผ่าน exec( ) เพื่อดูว่าปัญหาเกิดขึ้นกับ Imagemagick หรือ Imagick หรือไม่

person Bonzo    schedule 22.05.2012
comment
อ๊า ขอบคุณนะสำหรับการตอบกลับ - ฉันแย่เอง ชื่อไฟล์ไม่ได้ถูกส่งอย่างถูกต้องไปยัง IM และดังนั้นจึงล่ม - คำใบ้คือบรรทัดที่ 2 ของบันทึกข้อผิดพลาดด้านบนไม่แสดงชื่อไฟล์ - person pepe; 23.05.2012
comment
ดีใจที่มันจัดเรียง; แม้ว่าการรายงานข้อผิดพลาดของ IM อาจทำให้เกิดความสับสนในบางครั้ง - person Bonzo; 23.05.2012