Запуск 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.