Мы использовали ImageMagick
в течение некоторого времени без каких-либо проблем.
Однако сегодня мы можем найти PDF-файл, который мы пытались преобразовать в миниатюру jpg, но это не помогло:
$ convert example.pdf -resize 600 thumb.jpg
Error: /rangecheck in --run--
Operand stack:
--dict:12/21(L)-- Sh5 0.0 --nostringval-- true 14460 0 --nostringval--
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1846 1 3 %oparray_pop 1845 1 3 %oparray_pop 1829 1 3 %oparray_pop --nostringval-- --nostringval-- 2 1 1 --nostringval-- %for_pos_int_continue --nostringval-- --nostringval-- false 1 %stopped_push --nostringval-- --nostringval--
Dictionary stack:
--dict:1158/1684(ro)(G)-- --dict:1/20(G)-- --dict:75/200(L)-- --dict:75/200(L)-- --dict:106/127(ro)(G)-- --dict:285/300(ro)(G)-- --dict:22/25(L)-- --dict:4/6(L)-- --dict:25/40(L)-- --dict:1/1(ro)(G)-- --dict:9/15(L)-- --dict:5/5(L)-- --dict:2/5(L)-- --dict:1/1(ro)(G)-- --dict:9/15(L)--
Current allocation mode is local
Last OS error: 2
GPL Ghostscript 8.70: Unrecoverable error, exit code 1
convert: Postscript delegate failed `example.pdf'.
convert: missing an image filename `thumb.jpg'.
Итак, в тестовой среде (Ubuntu) я смог установить последнюю версию ImageMagick
и смог легко преобразовать этот pdf -> jpg.
Проблема заключается в обновлении этого пакета на RHEL. Нет доступных обновлений для ImageMagick
используя yum. Итак, я сделал это:
wget http://www.imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-6.8.4-4.x86_64.rpm
yum erase ImageMagick
yum install --nogpgcheck ImageMagick-6.7.9-6.x86_64.rpm
Обратите внимание, что yum erase
удалил ImageMagick-devel
так же хорошо как ImageMagick
пакет.
Но теперь я получаю это сообщение при попытке запустить любой php-скрипт командной строки: Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/imagick.so' - libWand.so.10: cannot open shared object file: No such file or directory in Unknown on line 0
И я нервничаю перезапускать apache, потому что наше производственное веб-приложение полагается на php-imagick для изменения размера изображений.
Как мне заставить php найти новый ImageMagick
?
Вы не можете. Вам нужно будет перекомпилировать php с более новым ImageMagick или (более быстрое и безопасное решение) снова понизить версию imagemagick.
Это даст вам время на обновление до RHEL 6, в котором есть более новый imagemagick.