Поддерживаемые форматы 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, и эти инструкции были невероятно просты и полезны:

https://mlocati.github.io/articles/php-windows-imagick.html

Проверь это

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 на основе форматов я переместил только те.

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