Последнее обновление:
Установка imagemagick для РНР
На примере РНР 5.3
Технология imagick - это программная среда (в виде комплекса библиотек) для обработки изображений. Она позволяет создавать изображения, а также изменять их. Например, изменять размеры, цвета, делать искажения, спецэффекты и т.д. Т.е. - осуществлять все то, что, так или иначе, делают многие профессиональные графические редакторы. Вообще, imagick можно установить отдельно, в виде программной среды. А можно, в частности, в качестве расширения для языка РНР, чтобы потом при помощи сервера (т.е. на стороне backend) работать с изображениями.
Надо сказать, что в PHP имеются средства для работы с (растровой) графикой, но они - достаточно ограничены и не позволяют работать с ней на профессиональном уровне. Поэтому используется PHP Imagick.
Рассмотрим, как можно установить imagemagick в среде РНР. В целях универсальности, рассмотрим установку для старой версии PHP 5.3. Для более новых версий установка будет мало отличаться.
Предварительные замечания
Важно соблюдать соответствие разрядности установленного PHP и imagemagick. Если РНР установлен 32-разряной версии (x86), то и imagick также должна быть 32-разрядной. Если 64-разряда, то, опять же, и PHP, и imagemagick должны быть 64-разрядными.
1. Устанавливаем php_imagick
Внимание! Вероятно, НЕ СТОИТ устанавливать неофициальные версии. Ибо там могут быть вирусы. Для надежности, лучше скачивать программы только с официальных сайтов.
Ее версию следует подобрать, в зависимости от версии установленного PHP. Найти их можно здесь. В частности, для РНР 5.3 подошла https://downloads.php.net/~windows/pecl/releases/imagick/3.3.0/php_imagick-3.3.0-5.3-ts-vc9-x86.zip. Для более поздних версий РНР (7 или 8) можно поискать более позднюю версию php_imagick.
После скачивания следует разархивировать архив и скопировать оттуда файлы php_imagick.dll (а также и php_imagick.pdb на всякий случай), вставить их в каталог \ext. Например, в среде Denwer это будет каталог \usr\local\php5\ext.
php_imagick заканчивается. Внимание! Файлы CORE_RL_****.dll оттуда брать НЕ НУЖНО! Если точнее, можно, конечно, попробовать их использовать. Но, проверка показала, что лучше вместо них взять аналогичные файлы из самого движка ImageMagick (см. ниже).
Так как РНР 5.3 имеет версию 32-разрядную, то и php_imagick тоже скачиваем именно 32-разрядную (с суффиксом x86).
2. Изменяем настройки сервера
Речь идет о файле php.ini. Вообще, в зависимости от архитектуры сервера, он может находиться в разных каталогах. Например, в среде Denwer путь к нему - следующий: \usr\local\php5\php.ini.
В этом файле нужно найти и раскомментировать директиву:
extension = php_imagick.dll
Если ее почему-то нет, то нужно добавить ее самостоятельно. Эта директива подключит библиотеку ImageMagick.
3. Устанавливаем сам движок ImageMagick
К сожалению, на официальном сайте ImageMagick на начало 2026 г. имеются только свежие версии, начиная с 7. Тогда как для PHP 5.3 эта версия, скорее всего, не заработает (поверяли на практике, не заработала, выдает ошибки). Для устаревшей версии PHP следует установить более старую версию ImageMagick. Взять ее можно в вебархиве официального сайта РНР, например, эту: https://web.archive.org/web/20150918175642/http://windows.php.net/downloads/pecl/deps/ImageMagick-6.8.9-1-vc9-x86.zip. Как видим, эта версия - тоже 32-разрядная, номер версии 6.8.9.1.
У вас, скорее всего, будет более новая версия PHP, например, PHP 8. Соответственно, тогда вам следует скачать и более новую версию ImageMagick.
Разархивировать. Затем из папки \bin все файлы вида CORE_RL_****.dll, IM_MOD_RL_****.dll скопировать и вставить в каталог \usr\local\apache\bin.
Т.е. вставить в тот каталог, где лежат бинарные файлы, вместе с файлом httpd.exe.
Потому, что Server Root в данном случае: Z:/usr/local/apache. Т.е., по идее, нужно эти файлы копировать в корневую папку РНР.
Можно также и в другой каталог, но тогда надо задать путь к нему в переменной окружения, чтобы сервер увидел эти файлы и знал к ним путь.
4. Перезагрузить сервер
Если это Denwer - значит, перезагрузить Denwer; если другой сервер или среда - значит, перезагрузить их.
ВАЖНО! После перезагрузки сервера НЕ ДОЛЖНО БЫТЬ никаких ошибок. Это - самый первый критерий, что установка php_imagick прошла корректно. Если же будут сообщения об ошибках, это, скорее всего, означает, что версии php_imagick и ImageMagick НЕ соответствуют друг другу. Или не совпадает разрядность, и/или - номера версий.
5. Посмотреть вывод phpinfo();
Это необходимо для того, чтобы убедиться, что imagick установлена корректно. Имеют значение два раздела вывода этой команду, которые мы сейчас и рассмотрим.

5.1. Первый - это Apache Environment. Там важно убедиться, что ImageMagick установлена и добавлена в переменную PATH.
Примечание. Так как на компьютере была установлена ImageMagick сама по себе, т.е. для непосредственной работы с ней, без учета PHP, то там также видно эту версию: 7.1.1-Q16. Она НЕ ИМЕЕТ отношения к РНР.
Итак, видим, что ImageMagick добавлена в переменную окружения.
5.2. Второй - это, собственно, ImageMagick - именно о той версии, которая установлена для работы с PHP. Как видно, ее версия - 3.3.0. Та самая, которую мы скачали в пункте 1 (для php_imagick).
Дальше перечислены классы ImageMagick и, самое главное для нас сейчас, номер ее версии. Он является 6.8.9-1 Q16 x86.

Сравнив ее с номером версии из пункта 3 (6.8.9-1-vc9-x86), убеждаемся, что базовый номер 6.8.9-1 полностью идентичен.
Нужно обратить внимание на ImageMagick number of supported formats и ImageMagick supported formats (они НЕ ДОЛЖНЫ быть равными 0!). Если они вдруг равны нулю, значит, установка ImageMagick произошла некорректно. Скорее всего, по причине несоответствия версий.
В нашем же случае с этим все в порядке. Видно, что доступно 229 видов форматов и они перечислены в списке.
6. Проверка работы ImageMagick
Это можно сделать путем запуска файлов-примеров polygon.php, polygon.php и т.д. из php_imagick-3.3.0-5.3-ts-vc9-x86. Если примеры заработали (отобразился темный прямоугольник с закругленными краями, отобразилась капча и т.д.), то, значит, все в порядке. Расширение imagick теперь готово к работе для ваших задач.
Удачи всем в использовании ImageMagick.
