Установка ImageMagick и подключение PHP-модуля imagick на Mac OS X
Чтобы установить и протестировать связку ImageMagick + imagick, необходимо вначале сконфигурировать локальный веб-сервер Apache, подключить PHP и поставить MacPorts. Подробную информацию можно найти по следующим ссылкам:
- Конфигурация Apache и PHP на Mac OS X
- Система управления пакетами MacPorts для Mac OS X
ImageMagick - графическая библиотека для пакетной работы над изображениями, может использоваться как самостоятельное приложение со своим GUI, так и через интерфейс командной строки, понимает более 100 форматов и может выполнять многие функции по обработке изображений. Имеет огромное количество интерфейсов реализованных на многих популярных языках для более удобного использования библиотеки в своих скриптах и сценариях через программный интерфейс.
Установка ImageMagick
Установить ImageMagick на Mac OS X можно с помощью бинарного дистрибутива или через систему управления пакетами MacPorts, на официальном сайте рекомендуется использовать именно второй способ. Не смотря на кажущуюся простоту установки библиотеки из бинарника, заставить работать его с модулем imagick мне так и не удалось.
Для установки ImageMagick через MacPorts достаточно ввести команду:
sudo port install imagemagick
Теперь придется подождать, т.к. установка будет длиться примерно 45 минут. Когда установка будет завершена, можно проверить работоспособность библиотеки, переходим в терминал и вводим следующие команды:
sudo convert logo: logo.gif
identify logo.gif
display logo.gif
Если библиотека установилась корректно, то мы увидим логотип ImageMagick.
Установка модуля imagick
imagick - это интерфейс для работы с библиотекой ImageMagick, который позволяет обращаться к командам с помощью сценариев PHP.
Модуль imagick можно скомпилировать самостоятельно или установить как PECL-расширение, во втором случае потребуется установить систему управления классами PEAR, второй способ наиболее простой и более практичный, его и рассмотрим:
Для начала установим PEAR. Переходим в терминал и вводим следующие команды:
curl http://pear.php.net/go-pear > go-pear.php
sudo php -q go-pear.php
После выполнения второй команды мы увидим приветствие PEAR с предложением продолжить установку, нажимаем Enter, далее нам будет предложено указать HTTP proxy, по прежнему нажимаем Enter.
Если вы получаете следующее сообщение:
"Sorry! Your PHP version is too new (5.3.3) for this go-pear.
Instead use http://pear.php.net/go-pear.phar for a more stable and current
version of go-pear, more suited to your PHP version."то необходимо внести изменения в файл
php.ini
sudo nano /etc/php.ini
Необходимо найти блок
[Phar]
и раскомментировать в нем строки:
phar.readonly = On
phar.require_hash = OnВ строке
phar.require_hash
значениеOn
поменять на значениеOff
. И добавить строкуdetect_unicode = Off
.Перезапускаем Apache и выполняем следующие команды:
curl http://pear.php.net/go-pear.phar > go-pear.phar
sudo php -q go-pear.phar
В следующем диалоге нам будет предложено указать расположение компонентов PEAR, выбираем значение 1 и вводим начале вводим путь к каталогу ($prefix):
/usr/local
Нажимаем Enter и продолжаем установку (необходимо согласиться с установкой).
Установим модуль imagick:
sudo pecl install imagick
В процессе установки будет предложено выбрать каталог с библиотекой ImageMagick, если она установлена через MacPorts, то вводим путь /opt/local
и продолжаем установку.
Переходим к файлу php.ini
и добавляем следующую строку:
extension=imagick.so
Перезагружаем веб-сервер Apache.
Ссылки по теме:
-
-
Стас
22 декабря 2011 в 10:56 #А как настроить на ubuntu? Помогите плиз, могу за денюшку. Нужно очень и срочно!
Андрей
22 мая 2015 в 12:38 #Потребовалось установить более новую версию php — 5.4. Ставил следующим образом:
В данном случае php не обновляется, а устанавливается новая версия в другую папку /usr/loca/php5/bin
При установке Imagick по инструкции везде менял пути к php на сооветствующие, но все равно в результате создался файл imagick.so в папке расширений для php старой версии, пытался подключить эту версию но расширение не подключается, выдает ошибку
Module compiled with module API=20090626
PHP compiled with module API=20100525
Не знаете, в чем может быть проблема?