Недавно я перешел в 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
Любые предложения по устранению неполадок?
Вот как быстро и грязно установить последнюю версию (версия 6.8.4-6 на момент написания этой статьи) ImageMagick на 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
Вы пытались запустить какой-то код, используя Imagemagick через exec (), чтобы узнать, есть ли проблема с Imagemagick или Imagick?