Где найти ImageMagick и как его поставить на Denwer

Автор: | Ноябрь 30, 2012

ImageMagick Denwer Сегодня мне приспичило установить на Denwer расширение (библиотеку) для манипулирования с изображениями под называние Image Magick.

Сразу скажу, что с поставленной мной задачей эта библиотека не справилась, а преимуществ по сравнению с GD2 в остальном я не увидел, поэтому в итоге я снова вернулся на GD2, но при этом ImageMagick, я всё-равно поставил на Денвер, хотя это и заняло с моим диким интернетом, порядка двух часов.

Конечно, если бы я знал заранее все пункты и места где чего взять, то справился бы я думаю за 5 минут.

Вам в этом случае очень повезло, потому что я предоставляю инструкцию, которая явно сэкономит ваше время. Итак приступим:

Сначала я пытался найти всё в интернет. Нашёл пару-тройку блогов, где якобы написано как устанавливать, то там толком ничего не написано, про “форс-мажорные” обстоятельства, а я хочу написать и про них тоже. Перед установкой нужно запустить Denwer.

1. Необходимо скачать модуль. Сам Image Magic так сказать. Сделать это необходимо перейдя по этой ссылке. Там скачиваете последний релиз. Я скачивал этот:

Скачать Image Magick

2. Далее необходимо скачать библиотеку php_imagick.dll . Тут тоже по интернету валом этих библиотек на разных блогах, а по факту скачивать библиотеку нужно по этой ссылке. Там два раздела: thread-safe и non-thread-safe. Я скачивал из раздела thread-safe и у меня эта DLL подошла:

Скачать php_imagick.dll

3. Устанавливаем файл, скачанный по первой ссылке (в моём случае это файл ImageMagick-6.8.0-5-Q16-windows-dll.exe). Только меняем путь установки. Т.е. ставим на диск Денвера и убираем лишние циферки и буковки в названии итоговой папки:

Установка Image Magick в папку Денвера

кстати я рекомендую не забыть поставить галочку, чтобы прописать путь установки Image Magick

Установка ImageMagick

4. Дожидаемся конца установки. Теперь необходимо взять скачанную нами библиотеку (см.п.2) и положить в папку денверского PHP5 да ещё в подпапку с расширениями:

Положить php_imagick.dll в папку PHP5 EXT

5. Открыть файл php.ini , находящийся по адресу Z:\usr\local\php5\php.ini и где-то в конце объявления всех DLL, добавляем нашу, прописав extension=php_imagick_ts.dll

Прописываем в php.ini нашу php_imagick_ts.dll

6. А вот это важный пункт. Без которого у меня постоянно выкидывало ошибки, вместо того, чтобы объяснить что собственно происходит. Значит так. Необходимо добавить переменную в настройки денверовского Апача. Делается это так. Идём в Z:\usr\local\apache\conf и открываем файл httpd.conf. В самом низу добавляем следующее:

SetEnv MAGICK_HOME "Z:/usr/local/ImageMagick"

Прописываем в httpd.conf переменную Image Magick

7. Перезагружаем Denwer. Если всё загрузилось и никаких ошибок не было, то можно смело идти и смотреть конфигурацию PHP5 (http://localhost/Tests/PHP5/index.php5) и по идее мы должны увидеть:

Переменная ImageMagick уже в Apache ImageMagick работает на Denwer

8. Но, у меня это дело завелось ни с первого раза. Например мне пришлось поискать ещё php_imagick.dll с нужной датой и нужным мне VC9 (пока я не нашёл ссылку из п.2.). В этом случае вам будет выскакивать окно в котором говориться, мол модуль у вас такой-то версии (имеется ввиду как раз библиотека из п.2.), а PHP такой-то версии. Поэтому необходимо, чтобы эти версии совпадали. А иначе вы будете видеть подобные окошки:

Модуль 2006 года 13 июня, а PHP 2009 года 26 июняМодуль и PHP одного года, но не совпадают TS VC6 и VC9

 

Вот собственно и всё. Ура!

Всем добра…

Где найти ImageMagick и как его поставить на Denwer: 4 комментария

  1. Константин

    Fatal error: Class ‘imagick’ not found in Z:\home\localhost\www\php\Untitled-6.php on line 10

  2. Тарас

    Спасибо громадное, очень помогли! )
    Завелось с первого раза.

  3. Никита

    Сделал всё как написан. Всё получилось как на картинках. Денвер просто долго думает и зависает

  4. валерий

    завелось нИ с первого раза
    окно в котором говоритЬся

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

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

* Защита! Введите ответ на Произведение чисел