Поддерживаемые форматы ImageMagick нет значения
Я установил скачать и установить ImageMagick-6.8.3-7-Q16-x86-dll.exe
по ссылке http://imagemagick.org/script/binary-releases.php#windows
и я использую Windows 7 и PHP 5.3.8.
При установке это было установлено правильно в моей машине и convert
Команды работают отлично. На моем config config, что показывает здесь:
Но в моем разделе phpinfo я получаю:
Поддерживаемые форматы ImageMagick не имеют значения
Я получил все значения изображения магии, как это https://www.evernote.com/shard/s297/sh/12397c86-d016-4ca4-9415-fd541daeca39/2fc504bf5ddba5693efd3249402b2b5c
,
Я не знаю, почему это становится бесполезным, я установил тот же ImageMagick-6.8.3-7-Q16-x86-dll.exe на php 5.3.8 на моей 32-битной машине Windows7. php_imagick.dll
Я загружен с другого сайта. Я не знаю, в чем проблема, с которой я сталкиваюсь при установке imagemaagick, если это проблема с php_imagick.dll
версия может кто-нибудь предложить правильную версию php_imagick для этой конфигурации?
8 ответов
Я потратил несколько дней на поиски решения и наконец нашел его с помощью Sysinternals procmon.
Я обнаружил, что apache ищет dll-файлы, такие как IM_MOD_xxxx.dll, в папках c:\windows\system и /bin. Копирование файлов в одну из этих папок помогло мне.
Удачи.
Не все версии ImageMagick будут работать со всеми версиями php_imagick.dll. Расширение Imagick v3.4.* В сочетании с ImageMagick 7.* не поддерживает ни один формат изображения. Когда я перешел на ImageMagick 6.9.* Проблема была решена.
По эхо phpinfo вы можете увидеть, какая версия ImageMagick нужна. Ищите "Imagick используя версию библиотеки ImageMagick" и "Imagick, скомпилированный с версией ImageMagick" (что должно быть равно).
Список бинарных загрузок: https://www.imagemagick.org/download/binaries/
Или более старые версии: http://windows.php.net/downloads/pecl/deps/
Пошаговые инструкции по установке ImageMagick в Windows: /questions/43325820/poshagovyie-instruktsii-po-ustanovke-imagemagick-na-wamp/43325823#43325823
Так как его первый результат на Google при поиске решения этой проблемы, я добавлю тот, который работал для меня. Источник: http://forums.zend.com/viewtopic.php?t=2397
У меня были проблемы с PHP 5.6, он распознал расширение, но форматы не поддерживались. ( http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/)
Установка последней версии imagemagick(с динамическими библиотеками) и копирование файлов DLL из imagemagickDir/modules/coders/* и imagemagickDir/modules/filters/* в корень imagemagick помогли, теперь imagemagick работает правильно при вызове php.
Не забудьте предоставить IIS доступ к папке imagemagick.
РЕДАКТИРОВАТЬ:
Когда IIS успешно распознал форматы, я столкнулся с проблемами совместимости.
Рабочая комбинация для PHP 5.6:
http://windows.php.net/downloads/pecl/releases/imagick/3.2.0b2/
http://ftp.icm.edu.pl/packages/ImageMagick/binaries/ImageMagick-6.8.8-9-Q16-x86-dll.exe
У меня была такая же проблема, и все перепробовал. Вам не нужно - как я думал - ImageMagick, установленный в вашей системе для запуска модуля Imagick для PHP. Вам просто нужно убедиться, что вы включаете оба CORE_RL_*
дллс, а также IM_MOD_*
dlls в apache/bin
каталог, а затем также php_imagick.dll в php/ext
каталог.
Я использую PHP 7.0.25 x86 через XAMPP в Windows, и эти инструкции были невероятно просты и полезны:
Проверь это
MAGICK_HOME=C:\Program Files (x86)\ImageMagick-6.8.8-Q16\modules\coders
установлено.
Там есть много ответов, так как ландшафт для этой программы и PHP со временем изменился.
Я настолько острый, что сейчас использую PHP 7.1. Сначала я копировал библиотеки DLL повсюду, как и все инструкции, которые вы делаете. К счастью, все, что нужно, - это последний пакет PECL и соответствующая версия Imagick для вашей системы, что было непростой задачей. Вы не можете использовать последнюю версию Imagick (версии 7 на момент написания этой статьи), если хотите использовать расширение PHP, пока расширение не будет обновлено. Вы должны установить версию Imagick в вашей системе, которая соответствует версии расширения PHP.
Как указали другие, загрузите последний пакет PECL для imagick для своей версии PHP. Поскольку я использую многопоточную версию PHP 7.1 для 64-разрядной версии, мне нужен пакет 3.4.3RC1, единственный на данный момент имеющий DLL-библиотеку для моей версии PHP.
Из этих файлов мне нужно только скопировать php_imagick.dll
, Затем перейдите по http://windows.php.net/downloads/pecl/deps/ и загрузите последнюю версию Imagick для вашей системы, которая, вероятно, на данный момент будет VC14, для которой это кажется просто вопросом установка соответствующего распространяемого пакета C++ в вашей системе для его работы. Просто распакуйте файлы и добавьте корзину на свой путь. Опять же, если у вас есть более новая версия Imagick, вам нужно заменить ее на эту, потому что она будет работать с расширением php.
На этом этапе вы сможете перезапустить apache и подтвердить, что в phpinfo включено расширение imagick. Он должен показать вам версию Imagick для расширения PHP. Опять же, если Imagick в вашей системе на вашем пути - это версия, которая соответствует версии, показанной для расширения PHP, вы должны увидеть список поддерживаемых форматов, которые он получает из библиотек Imagick версии 6 в вашей системе. Вам не нужно будет копировать их в apache bin или куда-либо еще, а также создавать папку MAGICK_HOME.
Даже после правильной установки imagick & imagemagick, если он не работает, проверьте переменную PATH среды Apache Environment. Скорее всего, если переменная path не отображает вашу папку установки ImageMagick, добавьте ее в дополнительные параметры системы Windows/ переменные среды / системные переменные -> PATH.
Перезапустите сервер WAMP и проверьте, чтобы увидеть phponfo для переменной PATH среды Apache.
Я искал сообщения и пробовал различные предложения - в течение нескольких часов. Я не достиг успеха, пока не попробовал шаги здесь: https://mlocati.github.io/articles/php-windows-imagick.html (как отправлено Codesmith - и я согласен, что шаги короткие, простые в исполнении). Мне нужно было установить на WAMP.
Страница за этой ссылкой рассказывает, как определить правильную версию для загрузки Imagick и ImageMagick. Просто распакуйте три набора файлов в указанные каталоги, внесите изменения в php.ini и перезапустите WAMP. Мой код использует только форматы JPEG и PNG, поэтому из библиотек DLL на основе форматов я переместил только те.