Как установить ImageMagick для использования с PHP В Windows 7 (3)
есть другие темы о том, как установить Imagick на Windows 7, но пока никакой помощи для меня. :(
(возможно, проблемы возникли с более поздними версиями)
Я выполнил следующие шаги для установки:
-
скачать и установить ImageMagick
http://www.imagemagick.org/download/binaries/ImageMagick-6.8.8-1-Q16-x86-dll.exe
-
скачать php_imagick.dll и копировать в расширение dir (c:xamppphpext)
http://www.peewit.fr/imagick/php55/vc11/x86/ts/php_imagick.dll
-
редактировать php.ini файл и добавить новое расширение (c:xamppphpphp - ... ini)
расширения=php_imagick.dll файлы
сохраните ini-файл и перезапустите Apache (при необходимости перезапустите Windows)
запустите Apache и запустите тест
когда я запускаю Apache, я получаю всплывающее окно, которое отображает:
программа не может запуститься, потому что php5.dll отсутствует на вашем компьютере. Попробуйте переустановить программу, чтобы устранить эту проблему.
затем сразу после этого приходит другой:
запуск PHP: невозможно загрузить динамическую библиотеку 'C:xamppphpextphp_imagick - ... dll ' - указанный модуль не может быть найдено.
согласно funtioneer Я подозреваю, что какая-то ошибка компиляции.
теперь у меня есть PHP версии 5.5.6 (xampp 1.8.3) с компилятором MSVC11, который такой же, как для php_imagick.DLL-файл.
является ли загрузка ImageMagick из источника и компиляция его самостоятельно правильным способом? (никогда не компилировались в Windows раньше)
8 ответов
вместо использования последней версии я попытался загрузить ImageMagick-6.7.7-5-Q16-Windows-dll от здесь. Это действительно сработало с php_imagick.dll (Imagick для PHP 5.5.x) от http://www.peewit.fr/imagick/.
Это не последняя версия, но он работал. (даже без перезагрузки компьютера)
вот что, наконец, сработало для меня, попробовав почти все возможные решения, опубликованные в интернете:
среда:
OS: Windows Server 2008 R2 (64bit)
IIS: 7.5
PHP: 5.5.11 (x86)
PHP.ini: VC11, x86
скачать и установить ImageMagick
ImageMagick-6.8.9-1-Q16-x86-dll.exe
скачать соответствующий .zip от Анатоля предложил источники (слава Анатолю!)
ImageMagick-6.8.9-1-vc11-x86:
извлеките во временную папку и скопируйте содержимое папки " bin " внутри установки Imagemagick (c:\imagemagick)
в моем случае перезапись файлов.
скачать .dll
и поместите его в папку расширений php
(Я использовал это)
Imagick для PHP 5.5.х многопоточной от: http://www.peewit.fr/imagick/
добавить расширение в php.ini с:
extension=php_imagick.dll
сохранить php.ini и перезапустите IIS
наконец, информация о магии изображения была отображена в phpinfo (); вызов.
это невероятно думать, чтобы решить эту проблему нужно скачать файлы из 3 разных мест.
надеюсь, что это помогает.
вот что я сделал, чтобы заставить его работать Примечание: шаг, который действительно споткнулся меня, что на самом деле не объяснил, что php_imagick.версия dll должна соответствовать вашей установке imagick
ОК шагов, я был скачать PHP imagick dll из http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/ (я использовал php_imagick-3.1.2-5.5-ts-vc11-x86.zip)
zip-файл будет содержать много DLL имейте это в виду, нам может понадобиться в будущем. Извлекать php_imagick.dll в папку расширения
поместите это в папку расширения
в php.ini добавить расширение = php_imagick.dll файлы
теперь проблема в том, что нам нужно выяснить, какая версия imagick php_imagick.DLL была скомпилирована для Откройте командную строку и введите php-e-v То, как я это сделал, было с zip, который вы загрузили ранее, извлеките другие библиотеки DLL в свою папку php, вероятно, появится сообщение об ошибке с указанием чего-то о отсутствующих библиотеках DLL. Так извлеките Dll из zip-папки раньше в вашу PHP-папку. Попробуйте снова запустить php-e-v, и он должен работать нормально без сообщения об ошибке. Если это так, то перезапустить Apache. Теперь посмотрите на phpinfo () и перейдите в раздел imagick. Он скажет ImageMagick version: Mine сказал ImageMagick 6.8.6-8, который является более старой версией, чем у них на своем сайте. Проблема в том, что ImageMagick количество поддерживаемых форматов: вероятно, скажет ноль.
Go здесь и скачать соответствие версии и установки (при установке убедитесь, что установлен флажок добавления переменной path)
после завершения установки Stop apache. Удалите библиотеки DLL из папки php, которую вы вставили ранее, и снова запустите apache. Проверять перезапустите apache, и все должно работать.
ImageMagic распределение, которое должно использоваться отсюда http://windows.php.net/downloads/pecl/deps/ . Двоичные файлы ImageMagic должны быть построены с тем же CRT, что и расширение PHP.
см. установка-imagick-php-7 для установки расширения imagick php В Windows с помощью php 7.0 +. Это единственное реальное решение, которое я нашел до сих пор. Это очень подробно.
обновлено: 21.08.2017
Я работал ImageMagick с php 7 и IIS (Apache очень похож): Imagick версия. 3.4.3
PHP 7 NTS x86, Windows Server 2012 x64, IIS 8.5
1) установить VC++ 2015 https://www.microsoft.com/en-US/download/details.aspx?id=48145
2) Get только php_imagick.dll
от https://pecl.php.net/package/imagick
3) Поставить это в папку php/ext/ и добавить extension=php_imagick.dll
to php.ini
внимание! Минимальные версии поддерживаются PHP >= 5.4.0 и ImageMagick >= 6.5.3-10.
ImageMagick 7 в настоящее время не поддерживаются.
посмотрите на phpinfo:
необходимо установить ImageMagick 6.9.3-7 Q16 x86
4) установить ImageMagick 6.9.3-7 Q16 x86 dll
от http://ftp.icm.edu.pl/packages/ImageMagick/binaries/
Не снимите флажок "добавить переменную в путь".
5) перезагрузить сервер
вот и все
он работает, выполнив следующие шаги.
php 5.5 32bit ts
+apache 2.4
+windows 10 64bit
+Imagick 6.9.3-5
+php_imagick.dll ts
проверьте, что бит вашей системы бит.
выбрать php_imagick.dll
версию
http://windows.php.net/downloads/pecl/releases/imagick/
найти php_imagick.dll
С
если вы не знаете как выбрать.
тип php -v
получить версию php в окне командной строки
выполнить следующий код показывает, какой php вы установили,thread safe
или non thread safe
.и нажмите здесь поможет вам.
на windows:php -i|find "Thread"
В Linux:php -i|grep Thread
или вы можете выполнить функцию phpinfo()
поиск "Thread"
на веб-странице.
вы увидите Thread Safety enabled
или Thread Safety disabled
другие шаги уже были написаны @embe.
теперь для чего-то в документации не упоминается: установка значения MAGICK_HOME в вашей среде. ImageMagick требует эту переменную, поэтому он знает, где найти все соответствующие кодеры.
Откройте Панель управления и найдите "путь". В результатах выберите "Изменить переменные среды системы". Выберите переменные среды...'option и добавьте новую" системную переменную " (Нижний список). Если вы выбрали другой путь установки, обязательно замените C:\img своим собственным путем.
переменная: MAGICK_HOME
Значение: C:\img\modules\coders