Установка ImageMagick и подключение PHP-модуля imagick на Mac OS X

Установка 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.

Ссылки по теме:
- Официальный сайт ImageMagick
- Примеры на PHP для работы через интерфейс imagick

Комментарии (2):

  1. Стас

    22 декабря 2011 в 10:56  #

    А как настроить на ubuntu? Помогите плиз, могу за денюшку. Нужно очень и срочно!

  2. Андрей

    22 мая 2015 в 12:38  #

    Потребовалось установить более новую версию php — 5.4. Ставил следующим образом:

    http://php-osx.liip.ch/

    В данном случае php не обновляется, а устанавливается новая версия в другую папку /usr/loca/php5/bin

    При установке Imagick по инструкции везде менял пути к php на сооветствующие, но все равно в результате создался файл imagick.so в папке расширений для php старой версии, пытался подключить эту версию но расширение не подключается, выдает ошибку

    Module compiled with module API=20090626
    PHP compiled with module API=20100525

    Не знаете, в чем может быть проблема?