Как установить и включить расширение Imagick в XAMPP для Windows

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

Вы можете проверить с помощью PHP-кода, установлено ли расширение Imagick или нет:

Или просто ошибки в вашем коде, который реализует Imagick, скажут вам:

Попытка загрузить класс «Imagick» из глобального пространства имен. Вы забыли заявление об использовании?

Класс 'Imagick' не найден

В XAMPP для Windows Imagick не является встроенным, поэтому вам остается только установить и внедрить его. Если вы уже искали ранее, как установить Imagick в XAMPP, чтобы он работал, и вы просто не можете это сделать, вы, вероятно, вышли за пределы и хотите покончить с собой.

К счастью, в этой статье вы найдете окончательную установку Imagick для XAMPP в Windows.

Замечания перед установкой

Мы должны отметить, что установка Imagick не легка (может немного сбить с толку), и вы можете получить ошибки во время установки, если вы не будете внимательно следить за каждым шагом. Кроме того, вам нужно знать следующую информацию о вашем дистрибутиве PHP:

Замечания: в зависимости от используемой версии XAMPP эти значения могут отличаться.

названиеЗначение по умолчанию
Архитектураx86 (XAMPP по умолчанию)
Поток безопасности

Включено

TS: стенды для безопасности потока включены

NTS: стенды для безопасности потоков отключены

составитель

MSVC11 (Visual C ++ 2012)

Некоторые версии Imagick скомпилированы с другими версиями, например VC9, VC11 (в данном случае), VC14

Вы можете получить эти значения с помощью phpinfo() функция PHP, выполняющая эту функцию в пустом скрипте:

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

Замечания: не забудьте также выполнить все настройки с правами администратора.

1. Загрузите и установите ImageMagick для Windows

Перейдите в браузере к Область загрузок веб-сайта Imagick и выделите зону Windows. ImageMagick работает практически во всех версиях для Windows (от Windows Server 2009, XP до Windows 10), теперь из этого списка важно скачать последнюю доступную версию с X86 архитектура и версия DLL, потому что именно эту архитектуру использует XAMPP (обычно, если не обратиться к PHPINFO и загрузить правильную версию, например, ImageMagick--Q16-x86-dll.exe):

Скачать установочный файл Imagick для Windows

Загрузите исполняемый файл и подождите. На данный момент нам не нужно ничего настраивать для PHP, просто продолжайте установку Imagick для Windows и не забудьте проверить возможность добавления Imagick в PATH:

Добавьте Imagick в ПУТЬ в Windows

После завершения установки вы можете протестировать Imagick в новой командной строке, выполнив (которая должна вывести версию в консоли):

magick -version

2. Скачать Imagick для PHP

Теперь перейдите к пакету Imagick на веб-сайте PECL здесь. и выберите версию DLL из последней доступной версии (если вы загрузили старую версию ImageMagick, затем загрузите версию, которая принимает вашу версию):

Установка пакета Imagick PECL

Затем загрузится новое окно, на этой странице перейдите к списку DLL и выберите правильную версию для вашей версии PHP с правильной архитектурой (если XAMPP не ваша операционная система) и Thread Safe, если она включена в вашем дистрибутиве (см. phpinfo, чтобы знать, использует ли ваш php-дистрибутив Thread Safe или нет):

PHP Imagick DLL версия

Это запустит загрузку zip-файлаphp_imagick----.zip". Из этого .zip вам нужно будет извлечь только php_imagick.dll файл. копия php_imagick.dll файл и вставьте в php/ext папка внутри вашего установочного пути xampp (обычно C:\xampp\php\ext):

Скопируйте dll в ext каталог php

Затем перейдите к включению расширения в вашем php.ini файл, добавив следующую строку:

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; Add the following line where the other extensions are loaded
extension=php_imagick.dll

Теперь расширение загружено, но Imagick по-прежнему не будет работать, так как оно даже не будет распознано как расширение, если вы проверите файл phpinfo, потому что нам нужно загрузить все методы и двоичные файлы, которые вы можете извлечь из следующего шага.

3. Загрузите необходимые двоичные файлы Imagick

В этот момент вы можете спросить себя, правда, чувак? 3 разных скачивания? Проблема с Imagick заключается в том, что существует множество сборок из разных источников, и если вы не загрузите и не установите правильные версии, он не будет работать или будет загружен, но если вы проверите расширение Imagick (позже, пока нет) в phpinfo вы увидите:

ImageMagick количество поддерживаемых форматов: 0

Вот почему вы должны следовать упомянутым шагам, иначе вы не заставите Imagick работать. Чтобы предотвратить любую ошибку реализации, двоичные файлы должны исходить из одного источника, в этом случае windows.php.net, Чтобы загрузить необходимые двоичные файлы, перейдите к PECL Deps здесь и поиск в списке для Imagick:

ImageMagick бинарные файлы Windows XAMPP

Загрузите версию, соответствующую архитектуре xampp, и проверьте версию компилятора. В этом случае мы загружаем третий вариант с размером файла около 30 МБ (ImageMagick-6.9.3-7-vc11-x86.zip). Теперь извлеките все файлы этого zip-файла в любую папку, в этом случае мы собираемся извлечь содержимое zip-файла в папку на рабочем столе.

Как только содержимое файла извлечено, откройте bin папка и скопируйте все .dll файлы (Кроме ImageMagickObject.dll) это будет около 146 файлов (с префиксами CORE_* а также IM_MOD_*), а затем вставьте скопированные файлы в apache/bin папка xampp (обычно C:\xampp\apache\bin).

Теперь запустите службу Apache (или перезапустите ее, если она уже запущена) и перейдите к phpinfo снова. Теперь вы должны увидеть imagick загруженным как расширение:

Расширение PHPINFO Imagick успешно загружено

И, наконец, после нескольких часов страданий вы можете использовать Imagick с PHP для XAMPP в Windows.

В случае ошибки консоли

Если после реализации вы по-прежнему получаете следующее сообщение об ошибке при каждом использовании PHP (по крайней мере, в консоли):

Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку 'C: \ xampp \ php \ ext \ php_imagick.dll' - указанный модуль не найден.

Вам нужно будет добавить bin каталог Apache (C:\xampp\apache\bin) к переменной среды PATH Windows и проблема будет решена.

Ссылка на основную публикацию
Adblock
detector