Пошаговые инструкции по установке 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 ответов
Я знаю, что это старая статья, но я трачу весь свой день, чтобы она заработала, поэтому вот шаги, которые мне помогли:
- Загрузите бинарный выпуск ImageMagick - http://www.imagemagick.org/script/download.php
- Установите в C: \ imagemagick, на последнем шаге отметьте "Добавить каталог приложения в системный путь"
- Загрузите версию Imagick DLL: PHP5.6.x с http://www.peewit.fr/imagick/ (на моем локальном хосте установлена версия 5.6+)
- Скопируйте php_imagick.dll в C:\wamp\bin\php\ext
- Загрузите версию PHP 5.6 Thread Safe (TS) x86 по http://pecl.php.net/package/imagick/3.1.2/windows
- Скопируйте файлы CORE_RL_* в C:\wamp\bin\apache\bin\
- Отредактируйте файл php.ini в C:\wamp\bin\apache\bin\ php.ini, добавьте строку extension=php_imagick.dll в разделе расширений
- Скопируйте все файлы из C:\imagemagick\modules\coders и C:\imagemagick\modules\filters в C: \ imagemagick для загрузки поддерживаемых форматов ImageMagick
- Перейдите в Панель управления -> Система -> Расширенные настройки -> Переменные среды -> Новая системная переменная -> MAGICK_HOME = C:\imagemagick
- Перезапустите Wamp-сервер и проверьте phpinfo() на наличие плагина imagick.
- Если последний шаг не работает, перезагрузите Windows
Я улучшил ответ fsasvari для удовлетворения общих сценариев и версий. Все кредиты ему.
Установите Imagick в WAMP
- Откройте страницу phpinfo ()
Проверьте ниже
Версия 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\Получите последнюю версию, соответствующую вашей архитектуре, здесь (для меня это было
ImageMagick-x86_64-pc-windows.exe
).Скопируйте все файлы из C: \ imagemagick \ modules \ coders и C: \ imagemagick \ modules \ filters в C: \ imagemagick для загрузки поддерживаемых форматов ImageMagick
Установите в C: \ imagemagick, на последнем шаге отметьте "Добавить каталог приложения в системный путь"
Загрузите PECL, соответствующий вашей архитектуре http://pecl.php.net/package/imagick/3.1.2/windows (для меня: 5.5 Thread Safe (TS) x64)
Извлеките его и скопируйте все файлы CORE_RL_* в папку apache bin (моя: C:\wamp\bin\apache\apache2.4.9\bin)
Скопируйте файлы php_imagick.* В расширение dir (мое: c:/wamp/bin/php/php5.5.12/ext/)
Отредактируйте файл php.ini (мой: C:\wamp\bin\apache\apache2.4.9\bin\php.ini)
добавлятьextension=php_imagick.dll
линия в разделе расширенийПерейдите в Панель управления -> Система -> Расширенные настройки -> Переменные среды -> Новая системная переменная -> MAGICK_HOME = C:\imagemagick
Перезапустите Wamp-сервер и проверьте phpinfo () на наличие плагина imagick.
Если последний шаг не работает, перезапустите 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.