и никакой магии!

Установка ImageMagick на центось.

Для начала, проверьте чтобы эти пакеты были установлены:

#yum install gcc php-devel php-pear

Если всё в порядке, двигаемся далее и ставим самого магика:

#yum install ImageMagick ImageMagick-devel

Тут есть одно но: если у вас система 64бита, то вы можете ставить x86_64 пакеты, минуя i386 и сэкономив тем самым кол-во зависимостей.

Следующим шагом станет компиляция библиотеки iMagick для PHP.

#pecl install imagick

На вопрос: «Please provide the prefix of Imagemagick installation» отвечаем: «all»

Если всё прошло удачно, то в конце лога появится:

Build process completed successfully
Installing ‘/var/tmp/pear-build-root/install-imagick-3.0.1//usr/lib/php/modules/imagick.so’
Installing ‘/var/tmp/pear-build-root/install-imagick-3.0.1//usr/include/php/ext/imagick/php_imagick_defs.h’
Installing ‘/var/tmp/pear-build-root/install-imagick-3.0.1//usr/include/php/ext/imagick/php_imagick.h’
Installing ‘/var/tmp/pear-build-root/install-imagick-3.0.1//usr/include/php/ext/imagick/php_imagick_shared.h’
install ok: channel://pecl.php.net/imagick-3.0.1
You should add «extension=imagick.so» to php.ini

Последняя строка как бы намекает что надо прописать модуль, прописываем:

#echo «extension=imagick.so» > /etc/php.d/imagick.ini

Рестартуем httpd и проверяем загрузился ли модуль:

#service httpd restart

#php -m | grep imagick

Ня! Можно кушать сгущенку и ресайзить каваек :З

По мотивам: http://tuxologia.blogspot.com/2011/01/imagemagick-centos.html

Небольшое дополнение. Если у вас в php.ini отсутствует imagick и возникает ошибка:

PHP Warning:  PHP Startup: Unable to load dynamic library ‘/usr/lib/php/modules/imagick.so’ — /usr/lib/php/modules/imagick.so: cannot open shared object file: Permission denied in Unknown on line 0

То возможно SELinux блокирует модуль. Проверить это можно следующим образом:

#ls -Z /usr/lib/php/modules

Если вывод будет:

-rwxr-xr-x root root root:object_r:tmp_t imagick.so
-rwxr-xr-x root root system_u:object_r:textrel_shlib_t dbase.so
-rwxr-xr-x root root system_u:object_r:textrel_shlib_t gd.so

значит проблема в безопасности. Решается она следующим способом:

#restorecon /usr/lib/php/modules/imagick.so

после этого всё должно быть нормально:

-rwxr-xr-x root root system_u:object_r:textrel_shlib_t imagick.so
-rwxr-xr-x root root system_u:object_r:textrel_shlib_t dbase.so
-rwxr-xr-x root root system_u:object_r:textrel_shlib_t gd.so

Рестартуем httpd и проверяем phpinfo() ^_^

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *