2013-03-07 3 views
6

Я установил загрузку и установку ImageMagick-6.8.3-7-Q16-x86-dll.exe по ссылке http://imagemagick.org/script/binary-releases.php#windows, и я использую Windows 7 и PHP 5.3.8.Поддерживаемые форматы ImageMagick без значения

При установке это правильно установлено на моей машине, а команды convert работают отлично. На моей новообращенной конфигурации, что свидетельствует о том, here:

enter image description here

Но на моей 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 i снижен с другого сайта. Я не знаю, в чем проблема, которую я испытываю при установке imagemaagick, если это проблема с версией php_imagick.dll, может ли кто-нибудь предложить правильную версию php_imagick для этой конфигурации?

ответ

5

Я потратил несколько дней на поиски решения, и, наконец, нашел его с помощью Sysinternals procmon.

Я узнал, что apache искал DLL-файлы, такие как IM_MOD_xxxx.dll в папках c: \ windows \ system и/bin. Копирование файлов в одну из этих папок помогло мне.

Cood luck.

+0

Это правильный ответ, так как он работает и для меня. – sonnb

+0

Это сработало для меня, спасибо: D – MRVDOG

+0

Спасибо, что сообщили нам об этом!/apache/bin помог в моем случае – Boog

4

С момента своего первого появления на google при поиске решения этой проблемы я добавлю тот, который работал для меня. Источник: http://forums.zend.com/viewtopic.php?t=2397#p15226

У меня возникли проблемы с PHP 5.6, он распознал расширение, но форматы не поддерживались. (http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/)

Установка последней версии ImageMagick (с динамическим LIBS) и копированием DLL файлов из imagemagickDir/модули/кодеры/* и imagemagickDir/модулей/фильтры/* до ImageMagick корня помогли, теперь ImageMagick работает должным образом с моментом, когда вызывающий PHP ,

Не забудьте предоставить IIS доступ к папке imagemagick.

EDIT:

Когда 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

+0

. Это сэкономило мне значительное количество времени. Вытягивал мои волосы. перемещение кодеров/* и фильтров/* сделал трюк! –

2

Убедитесь, что

MAGICK_HOME = C: \ Program Files (x86) \ ImageMagick-6.8.8-Q16 \ modules \ coders

установлен.

+1

'MAGICK_CODER_MODULE_PATH' вместо' MAGICK_HOME' – OwnageIsMagic

6

Не все версии 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: https://stackoverflow.com/a/28872879/2366136

+0

Я абсолютно согласен с этим. Почти 2 дня боролся, узнав, что мое воображение в phpinfo ** ПОТРЕБУЕТ ** соответствующую версию ImageMagick. В то время у меня установлен ImageMagick 7. *, поэтому я понижаю и устанавливаю более низкую версию. Наконец, я стал работать и вижу количество поддерживаемых форматов, а не 0. – graceth

+0

Список загрузок. Binary downloads: https://www.imagemagick.org/download/binaries/ – Czechnology

1

Есть много ответов там, поскольку пейзаж для этой программы и PHP со временем изменился.

Я настолько режущий, что использую PHP 7.1 на данный момент. Сначала я копировал DLL по всему месту, как и все инструкции. К счастью, все, что необходимо, это последний пакет PECL и соответствующая версия Imagick для вашей системы, что было сложной задачей. Вы не можете использовать последний Imagick (версия 7 на момент написания этого), если вы хотите использовать расширение PHP, пока расширение не будет обновлено. Вам необходимо установить версию Imagick в вашей системе, которая соответствует версии расширения PHP.

Как другие проинструктировали, download the latest PECL package for imagick для вашей версии PHP. Поскольку я использую потокобезопасную версию x64 для PHP версии 7.1, мне нужен пакет 3.4.3RC1, единственный из которых имеет DLL для моей версии PHP в это время.

Из этих файлов мне нужно скопировать более php_imagick.dll. Затем перейдите к http://windows.php.net/downloads/pecl/deps/ и загрузите последнюю версию Imagick для вашей системы, которая, вероятно, будет VC14 на данный момент, для которой, похоже, просто необходимо установить соответствующий пакет C++ Redistributable в вашей системе, чтобы он работал. Просто распакуйте файлы и добавьте корзину в свой путь. Опять же, если у вас есть более новая версия Imagick, вы захотите ее заменить, потому что это тот, который будет работать с расширением php.

На этом этапе вы должны иметь возможность перезапустить apache и подтвердить, что расширение фраз будет включено в phpinfo. Он должен показать вам версию Imagick для расширения PHP. Опять же, если Imagick в вашей системе на вашем пути является версией, которая соответствует тому, что показано для расширения PHP, то вы должны увидеть список поддерживаемых форматов, которые он получает из DLL из версии 6 Imagick в вашей системе. Вам не нужно будет копировать их в bin-apache или где-либо еще, а также не создавать папку MAGICK_HOME.

1

У меня была такая же проблема, и я пробовал все. Вы не нужно - как я думал - ImageMagick установлен в вашей системе для запуска модуля Imagick для PHP. Вам просто нужно убедиться, что вы включили как CORE_RL_* dlls , так и dlls IM_MOD_* в каталог apache/bin, а также файл php_imagick.dll в каталоге php/ext.

Я запускаю PHP 7.0.25 x86 через XAMPP на Windows, и эти инструкции были невероятно просты и полезны:

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

0

Даже после установки Imagick & ImageMagick правильно, если он не работает, пожалуйста, проверьте Apache окружающей среды PATH переменной. Скорее всего, если переменная path не отображает вашу папку inatallation ImageMagick, добавьте ее в расширенные системные настройки Windows/переменные среды/системные переменные -> PATH.

Перезапустите сервер WAMP и проверьте, есть ли phponfo для Apache Environment PATH Variable.

Смежные вопросы