Пошаговые инструкции по установке IMAGEMAGICK на WAMP?
Кажется, что нет кратких руководств/пошаговых инструкций по установке ImageMagick на WAMP для использования с PHP.
Я пробовал десятки комбинаций их бинарных выпусков с различными DLL файлами расширения php. Я могу заставить imagemagick работать нормально из командной строки, и я могу сделать так, чтобы он отображался как отмеченный в расширениях WAMP, но на самом деле не могу его использовать.
Кто-нибудь сталкивался с хорошим руководством по установке этого программного обеспечения?
Я следовал http://www.knowledge-transfers.com/it/install-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
Я перезагружаюсь и получаю эти две ошибки в этом порядке
![alt text]()
![alt text]()
и вот файл dll, где он должен быть:
![alt text]()
Ответы
Ответ 1
Я знаю, что это старый пост, но я трачу весь свой день на то, чтобы заставить его работать, поэтому вот шаги, которые помогли мне:
- Загрузите бинарный выпуск 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
Ответ 2
Я улучшил ответ 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 в другой папке/версии)
Ответ 3
Это была головная боль для меня, но, к сожалению, я установил это довольно давно. Инструкции из указанной вами ссылки выглядят точными. Вы запустили phpinfo(); проверить, установлена ли она в среде Apache? Он должен быть указан как MAGICK_HOME.
Убедитесь, что "SetEnv MAGICK_HOME C:/imagemagick" установлен в конце вашего файла httpd.conf. Предположим, что imagemagick установлен в этом каталоге.
Убедитесь, что у вас есть расширение php_imagick.dll в файле php.ini.
Он должен работать нормально, если у вас есть все эти настройки.
В другой заметке, вот небольшая небольшая библиотека, которую кто-то создал, чтобы сделать воображение проще в использовании. https://github.com/francodacosta/phmagick
Я надеюсь, что это поможет! Удачи!
Ответ 4
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/
Ответ 5
Я никогда не использовал WAMP, но обнаружил, что иногда устанавливая расширения PHP в Windows, мне нужно убедиться, что любая DLL, на которую распространяется расширение, находится в системе PATH Windows. Если в дополнение к расширению imagemagick больше одной DLL, попробуйте добавить каталог, в котором dll находится в системе Windows PATH, затем REBOOT (чтобы гарантировать, что веб-сервер получит копию новой среды).
Ответ 6
Я знаю, что это старый вопрос, но я думаю, что это когда-нибудь поможет кому-то...
Если вы находитесь на WAMPP и у вас установлен PHP 5.4.x, перейдите сюда http://www.peewit.fr/imagick/
и загрузите соответствующие файлы в соответствии с инструкциями. Он будет работать.
Ответ 7
Обратите внимание на этот ответ уже на StackOverflow:
Установка расширения ImageMagick с помощью php/windows
Я ответил на этот вопрос некоторое время назад. Это устраняет ошибку несоответствия DLL.
Ответ 8
Для 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 (я поставил его в нижнем регистре), вам будет предложено кое-что во время установки, просто убедитесь, что путь отмечен галочкой.
Вы также должны поставить галочку в конвертируемой штуке, если она позволяет.
Затем после установки вы можете запустить CMD и набрать команду convert -version, чтобы увидеть, установлен ли imagick.
3
Запустите <?php phpinfo();?>
<?php phpinfo();?>
И выясните эти настройки:
Версия PHP: 7.3.5
Система: Windows
Компилятор: MSVC15 (Visual C++ 2017) ([VC15])
Архитектура: x64 (или, может быть, у вас есть x86)
Безопасность потока: включена ([TS] еще [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
Добавьте расширение = php_imagick.dll в C: /wamp64/bin/php/php7.3.5/phpForApache.ini
Я добавил его после других расширений в файле.
7
Перезапустите все службы Wamp.
Если вы раньше возились с установками, возможно, вам придется перезагрузить компьютер из-за некоторых странных вещей в кэше.
8
Проверьте phpinfo() еще раз, если imagick обнаружится, и попробуйте что-то вроде $im = new Imagick();
9
Нажмите значок Wamp → php → extensions, php_imagick должен быть в списке.
Удачи! :)