Установка PHP Imagick UwAmp не работает

Я просматривал сеть несколько дней, но пока не нашел решения своей проблемы. Итак, вот я и задаю свой первый вопрос о стековом потоке: мне нужно установить imagick на мой локальный сервер UwAmp. Моя текущая версия imagemagick: ImageMagick-6.8.9-1-vc9-x86 У меня Windows 7 x64, но ни одна x64-версия ImageMagick не заставила мой локальный сервер запустить imagick. В командной строке ImageMagick работает нормально.

Моя версия PHP: 5.4.31

Расширение занесено в список расширений UwAmp, но когда я запускаю PHPinfo, нет ни слова о imagick. Мой журнал ошибок Apache не печатает никаких ошибок, связанных с проблемами загрузки.

Когда я запускаю тестовый файл, он печатает: Неустранимая ошибка: класс 'imagick' не найден. Я пробовал несколько файлов php_imagick.dll для различных версий PHP, для x64 wamp-сервера, для x86 и т. Д. Решения, которые я нашел, не решают эту проблему. Также не пошаговые руководства.

Вы уже сталкивались с этой проблемой? Какой файл php_imagick.dll вы бы порекомендовали мне попробовать?

Спасибо за помощь, Майкл

РЕДАКТИРОВАТЬ: моя версия UwAmp 32 бит

1 ответ

Решение

Подробное руководство для новичков, как я. Потребовалось много времени, чтобы заставить его работать.

Я изначально следовал: http://php.net/manual/en/imagick.installation.php

но после установки PHPInfo под imagick показывает количество поддерживаемых форматов = 0

Поэтому я следовал этим шагам, забитым из разных источников, чтобы заставить его работать.

  1. Нажмите PHPInfo и проверьте:

    Архитектура = x86 или x64

    Безопасность потока = да или нет

  2. Загрузите ImageMagick от:

    http://windows.php.net/downloads/pecl/deps/

    В моем случае я скачал: ImageMagick-6.9.3-7-vc11-x86.zip

    потому что архитектура под PHPInfo - x86

    как для vc11 или vc14

    найдите в Google "Visual C++ 11 Runtime" или "Visual C++ 14 Runtime" и установите его

  3. Разархивируйте и скопируйте все библиотеки из подпапки bin в каталог bin Apache. Это куча CORE_RL_.dll и IM_MOD_RL_.dll плюс несколько других библиотек.

    В моем случае я установил UwAmp в C:\UwAmp, поэтому:

    (из zip) bin/*.dll -> C:\UwAmp\bin\apache\bin

  4. Идти к:

    http://pecl.php.net/package/imagick

    На сегодняшний день последняя версия 3.4.1, поэтому я пошел на: http://pecl.php.net/package/imagick/3.4.1/windows

    Моя версия PHP: 5.6.18, а Thread Thread - "Да" с шага № 1, поэтому я скачал:

    5.6 Thread Safe (TS) x86

    и получил: php_imagick-3.4.1-5.6-ts-vc11-x86.zip

  5. Разархивируйте и скопируйте php_imagick.dll в папку расширения php:

    В моем случае: php_imagick.dll -> C:\UwAmp\bin\php\php-5.6.18\ext

    Примечание: этот ZIP также содержит dll, который другие руководства говорят, чтобы извлечь в папку расширений apache. Нет необходимости делать это. Шаг № 3 позаботился об этом.

  6. Отредактируйте php.ini и добавьте:

    расширение = php_imagick.dll

    или (я поместил это в самый конец):

    [Imagick]

    расширение = php_imagick.dll

    Для супер новичков: нажмите кнопку редактирования в UwAmp UI, откроется "php_uwamp.ini" и отредактируйте его. Он будет скопирован в правильный php.ini при перезапуске UwAmp. Сначала у меня были проблемы, так как несколько php *.ini разбросаны повсюду.

  7. Перезапустите Apache

  8. Проверьте PHPInfo, прокрутите до раздела (или найдите): imagick
    количество поддерживаемых форматов: 234 (по моему)

    Если раздел "imagick" отсутствует или "поддерживаемый формат" равен 0, значит, что-то пошло не так.

Надеюсь это поможет.

Кстати, комментарий к вопросу "Gras Double" работает, просто жаль, что я не нашел его раньше.

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