Шаги, которые я сделал до сих пор:
Fatal error: Class 'Imagick' not found
ошибку, когда я пытаюсь запустить скрипт, который использует Imagick. Текущие версии:
Я работал с более старой версией PHP, и Imagick работал с этим хорошо, затем я обновил PHP (и библиотеки Imagick DLL вместе с ним), и теперь я не могу заставить его работать.
Глядя на phpinfo( )
, я не вижу там Imagick, поэтому он вообще не загружает модуль. Что странно, потому что я не получаю никаких ошибок при запуске Apache.
Я пробовал практически каждую запись и прохождение для установки Imagick для PHP в Windows, но они, похоже, все написаны для более старых версий PHP.
Может ли кто-нибудь помочь мне установить и запустить? Похоже, что просто отсутствует один простой шаг, который я не могу понять. Если вам нужна дополнительная информация, пожалуйста, спросите. Я сделаю все возможное, чтобы помочь.
У меня php 5.6 NTS x64
установленный в Windows 8.1 pro для моей системы разработки.
EDIT: эта процедура также работала с Windows 10 pro.
Мне не удалось заставить Imagick работать с PHP, используя более раннюю версию ImageMagick, как в принятом ответе, и было трудно найти зеркала с точными безопасными двоичными файлами (двоичные файлы на зеркале в принятом ответе загружены как разные версии, чем перечисленные) ,
На всех этапах ниже убедитесь, что ваша архитектура PHP (x86 / x64 и NTS / TS) соответствует архитектуре двоичного кода. Если вы используете PHP x86 – замените x64-версию загрузок версией x86 (или 32-разрядной). То же самое относится к версиям PHP (Thread-Safe (TS) и Non-Thread-Safe (NTS)).
Я, наконец, все это работаю, выполняя следующие действия:
(3.3.0RC1)
во время этого ответа. php_imagick.dll
в D:\php5.6\ext
CORE_RL_*.dll
в D:\php5.6
– Убедитесь, что D:\php5.6
также добавлен в PATH
вашей системной среды extension = php_imagick.dll
в D:\php5.6\php.ini
(ImageMagick 6.9.1-2 Q16 x64)
и отсутствующие поддерживаемые форматы D:\php5.6\bin
с http://www.imagemagick.org/script/binary-releases.php. Убедитесь, что опция Add Path to Environment Variables
D:\php5.6\bin
или добавлена вручную. Это , convert --version
отображает правильную версию CORE_RL_*.dll
в D:\php5.6
(они будут загружены с помощью пути ImageMagick – в противном случае ваша установка PHP может стать нестабильной с DLL PECL) D:\php5.6\bin
чтобы иметь возможность конвертировать PDF-файлы в изображения из http://sourceforge.net/projects/ghostscript/, не забудьте сопоставить архитектуру для вашей установки Мне не нужно было добавлять MAGICK_HOME
для Imagick для работы с использованием встроенного веб-сервера PHP или CGI, но может потребоваться для Apache с помощью mod_php
. Убедитесь, что у пользователя, использующего PHP, есть разрешение на выполнение convert
. Это должно быть унаследовано через D:\php5.6\bin
но если вы выбрали установку в C:\Program Files
. у вас могут быть проблемы из-за ограниченных разрешений.
Альтернатива для преобразования изображений
Как отмечено в комментариях, вы также можете загрузить необходимые зависимости версии ImageMagick и извлечь файлы exe
и dll
из каталога bin
непосредственно в каталог D:\php5.6
. Зависимости можно найти на веб-сайте PECL http://windows.php.net/downloads/pecl/deps/
Использование зависимостей PECL устраняет необходимость прямой загрузки и запуска соответствующего установщика версии ImageMagick с веб-сайта поставщика.
С помощью метода зависимостей PECL возникли проблемы с исключенными файлами, необходимыми для конверсий PDF с использованием GhostScript.
Особые соображения
Не забудьте изменить переменную System Pare System, чтобы %SystemRoot%\system32\convert.exe
не переопределял D:\php5.6\bin\convert.exe
.
Добавив свой путь PHP слева от system32, D:\php5.6\bin;%SystemRoot%\system32;%SystemRoot%;...
следующие действия: PATH: D:\php5.6\bin;%SystemRoot%\system32;%SystemRoot%;...
Это заставит вашу систему искать исполняемые файлы в D:\php5.6\bin
до %SystemRoot%\system32
Замените D:\php5.6\bin\convert.exe
на путь, в котором вы установили ImageMagick, или путь туда, где находится convert.exe
https://technet.microsoft.com/en-us/library/cc723564.aspx#XSLTsection127121120120
Я, наконец, получил его работу, вот что мне нужно сделать: (ссылка на http://refreshless.com/blog/imagick-pecl-imagemagick-windows/ )
php_imagick.dll
в каталог ext
PHP и CORE_RL_*_.dll
в Каталог Apache bin
. MAGICK_HOME
с именем MAGICK_HOME
в машину со значением [ImageMagick install dir]\modules\coders
. phpinfo( )
. Если это не сработает для вас, попробуйте разные версии двоичных файлов ImageMagick и различные версии библиотек PECL.
Еще одно решение, которое работало в трех разных установках Windows (2 Windows 7 и 1 Windows 8.1), заключается в объединении:
ImageMagick-6.7.9-10-Q16-windows.exe с
xampp-win32-1.8.3-5-VC11-installer.exe .
Конечно, вам нужно будет добавить php_imagick.dll в папку php / ext, а также добавить расширение php_imagick.dll в php.ini. Перезапустите apache после того, как вы выполните все вышеперечисленное, и если он жалуется на недостающие вещи, перезагрузите компьютер.