Запуск ImageMagick на XAMPP 1.8.3 с Windows 7

Я часами пытался заставить ImageMagick работать на моем локальном хосте (под управлением XAMPP 1.8.3 в Windows 7). Я проверил и попробовал буквально все решения, которые я могу найти на этом сайте, и десятки других. Ничего не работает Независимо от того, какую комбинацию сборок ImageMagick и DLL-библиотек imagick я пробую, я всегда получаю какую-то ошибку "not find dll" при попытке запустить Apache (конкретное сообщение зависит от того, какую комбинацию я пробую, но всегда какое-то пропущенное сообщение DLL). Может кто-нибудь просто дать мне (сравнительно недавно) комбинацию XAMPP/ImageMagick/Imagick, которая работает?

3 ответа

Решение

ХОРОШО. Я наконец нашел комбинацию, которая работает. После ОЧЕНЬ проб и ошибок я наконец смог получить приведенную ниже комбинацию для работы на моей машине. Надеюсь, что это работает для всех, кто может бороться с этим.

  • ОС: Windows 7 64 бит
  • PHP: 5.5.6
  • XAMPP: 1.8.3
    • Компилятор: MSVC11
    • Архитектура: x86
  • ImageMagick: ImageMagick-6.7.7-5-Q16-windows-dll (доступно здесь)
  • Imagick DLL: версия PHP5.5.x от http://www.peewit.fr/imagick/

Примечание: как только я попробовал это, Apache запустился без каких-либо сообщений об ошибках. Мне не нужно было перезагружать мой компьютер (просто перезапустил Apache). У меня действительно установлен ImageMagick в каталоге, в котором нет пробелов в имени (так как некоторые предположили, что это может быть проблемой при некоторых установках). В моем случае я установил его в c:\xampp\imagemagick.

Удачи тебе!

Imagick является расширением PECL, а официальный сайт http://windows.php.net/ имеет скомпилированные версии расширений PECL.

Пожалуйста, загрузите Imagick с: http://windows.php.net/downloads/pecl/releases/imagick/

И загрузите ImageMagick с: http://windows.php.net/downloads/pecl/deps/

Обратите внимание, что загрузка Imagick с одного сайта и загрузка ImageMagick с другого сайта, вероятно, не будут работать! Это потому, что когда Imagick компилируется, он использует несколько настроек, которые различаются в зависимости от того, с какими версиями ImageMagick он компилируется.

К сведению, сопровождающий расширения Imagick рекомендует не запускать его внутри Apache, а вместо этого запускать его как фоновую задачу через что-то вроде SupervisorD или cron. Это как по соображениям безопасности, так и по производительности.

Потратив много часов на то, чтобы заставить эту вздорную вещь работать (Windows 7, 64-битная версия), но безуспешно, я решил взглянуть на другие системы, чтобы увидеть, как они справились с этой проблемой. Mediawiki просто НЕ использовала расширение ImageMagick/PHP! Они напрямую вызывают программу ImageMagick convert.exe и используют результат (см. Include /media/Bitmap.php в пакете mediawiki).

Вы не можете винить людей в том, что они отказались от расширения PHP, так как, очевидно, его нужно скомпилировать с помощью "правильного" постоянно меняющегося компилятора и сопоставить, по крайней мере, со сборками apache и ImageMagick. Что удивительно в этой ситуации, так это то, что эта проблема продолжается уже более пяти лет и до сих пор не решена.

Таким образом, мое "решение / ответ" на самом деле не одно, а по сути, это то, что ImageMagick называется другим способом, чтобы избежать проблемы, как это сделал mediawiki.

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