Пошаговые инструкции по установке IMAGEMAGICK на WAMP?

Кажется, что нет кратких руководств / пошаговых инструкций по установке ImageMagick на WAMP для использования с PHP.

Я пробовал десятки комбинаций их бинарных выпусков с различными DLL-файлами расширения php. Я могу заставить imagemagick работать нормально из командной строки, и я могу заставить его отображать помеченные в расширениях WAMP, но на самом деле не могу его использовать.

Кто-нибудь сталкивался с хорошим руководством по установке этого программного обеспечения?

Я следовал http://www.knowledge-transfers.com/it/installing-imagemagick-on-windows-setup-imagick-on-php без удачи...


Обновление: это то, что происходит, когда я следую инструкциям в ответе PHP-фермера на Windows7. Мой php.ini настроен следующим образом:

extension_dir = "c:/wamp/bin/php/php5.3.0/ext/"

extension=php_imagick.dll

Я перезагружаюсь и получаю эти две ошибки в этом порядке

альтернативный текстальтернативный текст

и вот файл dll, где он должен быть:

альтернативный текст

7 ответов

Я знаю, что это старая статья, но я трачу весь свой день, чтобы она заработала, поэтому вот шаги, которые мне помогли:

  1. Загрузите бинарный выпуск ImageMagick - http://www.imagemagick.org/script/download.php
  2. Установите в C: \ imagemagick, на последнем шаге отметьте "Добавить каталог приложения в системный путь"
  3. Загрузите версию Imagick DLL: PHP5.6.x с http://www.peewit.fr/imagick/ (на моем локальном хосте установлена ​​версия 5.6+)
  4. Скопируйте php_imagick.dll в C:\wamp\bin\php\ext
  5. Загрузите версию PHP 5.6 Thread Safe (TS) x86 по http://pecl.php.net/package/imagick/3.1.2/windows
  6. Скопируйте файлы CORE_RL_* в C:\wamp\bin\apache\bin\
  7. Отредактируйте файл php.ini в C:\wamp\bin\apache\bin\ php.ini, добавьте строку extension=php_imagick.dll в разделе расширений
  8. Скопируйте все файлы из C:\imagemagick\modules\coders и C:\imagemagick\modules\filters в C: \ imagemagick для загрузки поддерживаемых форматов ImageMagick
  9. Перейдите в Панель управления -> Система -> Расширенные настройки -> Переменные среды -> Новая системная переменная -> MAGICK_HOME = C:\imagemagick
  10. Перезапустите Wamp-сервер и проверьте phpinfo() на наличие плагина imagick.
  11. Если последний шаг не работает, перезагрузите Windows

Я улучшил ответ fsasvari для удовлетворения общих сценариев и версий. Все кредиты ему.

Установите Imagick в WAMP

  1. Откройте страницу phpinfo ()
  2. Проверьте ниже
    Версия PHP (моя: 5.5.12)
    Компилятор (мой: MSVC11 (Visual C++ 2012))
    Архитектура: (моя: x64)
    Безопасность потока: включена
    Загруженный файл конфигурации (мой: C:\wamp\bin\apache\apache2.4.9\bin\php.ini)
    extension_dir: (мой: c:/wamp/bin/php/php5.5.12/ext/)
    Apache Bin (отсутствует на странице phpinfo ()): C:\wamp\bin\apache\apache2.4.9\bin\

  3. Получите последнюю версию, соответствующую вашей архитектуре, здесь (для меня это было ImageMagick-x86_64-pc-windows.exe).

  4. Скопируйте все файлы из C: \ imagemagick \ modules \ coders и C: \ imagemagick \ modules \ filters в C: \ imagemagick для загрузки поддерживаемых форматов ImageMagick

  5. Установите в C: \ imagemagick, на последнем шаге отметьте "Добавить каталог приложения в системный путь"

  6. Загрузите PECL, соответствующий вашей архитектуре http://pecl.php.net/package/imagick/3.1.2/windows (для меня: 5.5 Thread Safe (TS) x64)

  7. Извлеките его и скопируйте все файлы CORE_RL_* в папку apache bin (моя: C:\wamp\bin\apache\apache2.4.9\bin)

  8. Скопируйте файлы php_imagick.* В расширение dir (мое: c:/wamp/bin/php/php5.5.12/ext/)

  9. Отредактируйте файл php.ini (мой: C:\wamp\bin\apache\apache2.4.9\bin\php.ini)
    добавлять extension=php_imagick.dll линия в разделе расширений

  10. Перейдите в Панель управления -> Система -> Расширенные настройки -> Переменные среды -> Новая системная переменная -> MAGICK_HOME = C:\imagemagick

  11. Перезапустите Wamp-сервер и проверьте phpinfo () на наличие плагина imagick.

  12. Если последний шаг не работает, перезапустите Windows (особенно, если вы ранее установили imagemagick в другой папке / версии)

Для WAMPSERVER 3.1.9 64bit, версия PHP: 7.3.5

У меня тоже было много проблем с этим, и некоторые вещи, которые я сделал неправильно, заключались в том, что я сомневался, что ImageMagick загрузится в моей новой версии php. Но вы должны верить, что это сработает, и не пытайтесь использовать старые версии php:)

Таков был мой подход, не забудьте следовать ему с вашими собственными настройками и версиями / папками.

Перед тем как начать, убедитесь, что вы используете ту версию php, которую хотите запустить. Если вы установили Wampserver 3, вы можете щелкнуть значок wamp, перейти к версии php и активировать ту, которую хотите запустить.


1

Загрузите последнюю версию ImageMagick для своей системы здесь: http://ftp.icm.edu.pl/packages/ImageMagick/binaries/

(У меня внизу ImageMagick-x86_64-pc-windows.exe)


2

Установите ImageMagick в C: / imagemagick (я поставил его в нижнем регистре). Во время установки вам будет предложено кое-что сделать, просто убедитесь, что указан путь.

Вы также должны поставить галочку напротив convert thingy, если это позволяет.

Затем после установки вы можете запустить CMD и ввести convert -version, чтобы узнать, установлен ли imagick.


3

Пробег <?php phpinfo(); ?> И узнайте эти настройки:

Версия PHP: 7.3.5

Система: Windows

Компилятор: MSVC15 (Visual C++ 2017) ([VC15])

Архитектура: x64 (а может у вас x86)

Безопасность потоков: включена ([TS] else [NTS])

У вас, вероятно, есть другие настройки, но вам нужно помнить свои, чтобы загрузить правильный php_imagick.dll


4

Получите php_imagick.dll, который вы хотите для своей версии php, отсюда: http://pecl.php.net/package/imagick

Я получил свой отсюда: http://pecl.php.net/package/imagick/3.4.4/windows для php 7.3

Запомните вашу информацию из phpinfo(), она должна совпадать, иначе она не сработает.


5

После распаковки скопируйте php_imagick.dll и вставьте его в C:/wamp64/bin/php/php7.3.5/ext/

Затем скопируйте все остальные файлы .dll из этой папки в C:/wamp64/bin/apache/apache2.4.39/bin/

Да, это грязно, но вы заставите его работать вот так.


6

Добавьте extension=php_imagick.dll в C:/wamp64/bin/php/php7.3.5/phpForApache.ini

Я добавил его после других расширений в файле.


7

Перезапустите все службы Wamp.

Если вы раньше возились с установками, возможно, вам придется перезагрузить компьютер из-за каких-то странных вещей в кеше.


8

Снова проверьте phpinfo(), если появляется imagick, и попробуйте что-нибудь вроде $im = new Imagick();


9

Щелкните значок Wamp -> php -> расширения, в списке должен появиться php_imagick.


Удачи!:)

PHP 5.4 php_imagick.dll находится здесь: http://www.peewit.fr/imagick/. Я где-то читал, что 64-битный php не работает с php_imagick. Это может быть тот случай, когда вы получите эту ошибку в apache_error.log

PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.3/ext/php_imagick.dll' -
%1 is not a valid Win32 application.\r\n in Unknown on line 0

Как упоминалось выше, также необходимо было добавить это в httpd.conf (также я читал, что у вас не должно быть пробелов / тире / точек):

SetEnv MAGICK_HOME C:/imagemagick"

Если вы этого не сделаете, вы можете получить эту ошибку:

"PHP Warning:  PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.3/ext/php_imagick.dll' -
The specified procedure could not be found. in Unknown on line 0"

В конце эта статья может частично помочь: http://www.elxsy.com/2009/07/installing-imagemagick-on-windows-and-using-with-php-imagick/

Для меня это тоже была головная боль, но, к сожалению, я установил ее довольно давно. Инструкции по той ссылке, которую вы разместили, кажутся точными. Вы запускали phpinfo(); чтобы увидеть, установлен ли он в среде Apache? Он должен быть указан как MAGICK_HOME.

Убедитесь, что "SetEnv MAGICK_HOME C:/imagemagick" установлен в конце вашего файла httpd.conf. Предполагая, что imagemagick установлен в этом каталоге.

Убедитесь, что у вас есть расширение "php_imagick.dll" в вашем файле php.ini.

Это должно работать просто отлично, если у вас есть все эти настройки.

С другой стороны, вот небольшая симпатичная библиотека, созданная для облегчения использования imagick. https://github.com/francodacosta/phmagick

Надеюсь, это поможет! Удачи!

Я никогда не использовал WAMP, но обнаружил, что иногда при установке расширений PHP в Windows мне нужно убедиться, что все библиотеки DLL, на которые опирается расширение, находятся в системной переменной PATH Windows. Если имеется более одного dll, упакованного с расширением imagemagick, попробуйте добавить каталог, в котором находится dll, в ПУТЬ системы Windows, а затем ПЕРЕЗАГРУЗИТЬ (чтобы веб-сервер получил копию среды NEW).

Я знаю, что это старый вопрос, но я думаю, что это поможет кому-нибудь когда-нибудь там....

Если вы используете WAMPP и у вас установлен PHP 5.4.x, перейдите по ссылке http://www.peewit.fr/imagick/

и загрузите соответствующие файлы в соответствии с инструкциями. Это будет работать.

Пожалуйста, посмотрите этот ответ уже на Stackru:

Установка расширения ImageMagick с помощью php/windows

Я ответил на этот вопрос некоторое время назад. Это решает ошибку несоответствия DLL.

Другие вопросы по тегам