Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 375 466 раз!

Форум

Добро пожаловать, Гость!

Подключение imagick к PHP7 для пользователей Open Server

Советы и рекомендации, полезные инструкции, обмен опытом
tarkovsky
Сообщения: 3
C нами: 1 год 9 мес

Непрочитанное сообщение tarkovsky » 16 ноя 2016, 07:47

Набросал простой мануал, как подключить imagick к PHP7 для пользователей Open Server.

Версия Open Server: 5.2.5
Операционная система: Windows 7


Мануал отличает то, что вам не нужно будет устанавливать imagick в систему, прописывать системные пути и т.п. Всё решается простым добавлением файлов и правкой конфига.

Итак:

1. Скачиваем расширение для PHP

Идём сюда:

http://windows.php.net/downloads/pecl/releases/imagick/

Выбираем стабильный релиз под версию и разрядность PHP. Например: 3.4.1.
Качаем сборку с пометкой TS.

Например:

http://windows.php.net/downloads/pecl/releases/imagick/3.4.1/php_imagick-3.4.1-7.0-ts-vc14-x86.zip

Архив будет содержать php_imagick.dll. Перемещаем его в папку:

/OpenServer/modules/php/PHP-7/ext


Если вы качали 64x версию, то папка будет:

/OpenServer/modules/php/PHP-7-x64/ext


2. Включаем расширение в настойках PHP

Для этого открываем файл:

/OpenServer/userdata/config/PHP-7_php.ini


или (для x64)

/OpenServer/userdata/config/PHP-7-x64_php.ini


и вписываем в блок расширений:

extension=php_imagick.dll


3. Теперь нужно обновить сам imagick

Идём по ссылке:

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

И качаем сборку imagick под нужную разрядность. Например:

http://windows.php.net/downloads/pecl/deps/ImageMagick-6.9.3-7-vc14-x86.zip

Дальше находим папку:

/OpenServer/modules/imagemagick


Переименовываем её, чтобы была резерная копия.

Создаём новую папку /OpenServer/modules/imagemagick

и копируем в неё содержимое папки bin, из архива который мы скачали.

4. Перезапускаем OpenServer и смотрим вывод phpinfo()

<?php phpinfo();


Ищем imagick.

Обращаем внимание на строку "ImageMagick supported formats".
В ней должно быть перечислено за сотню форматов.

Если Open Server стартанул с ошибкой, значит что-то напутали с версиями или разрядностью imagick.

Материал по теме:

http://herbmiller.me/2016/06/16/installing-imagick-php-7/

P.S:

Узнать подходящую версию imagick можно с помощью консольной команды:

php -i


Нужная версия будет написана в строке "Imagick compiled with ImageMagick version"

P.P.S:

Бытует поверье, что после этого imagick перестанет работать в других версиях PHP.
Дак вот, в php 5.6 всё прекрасно фуручит. В других версиях не проверял.
Последний раз редактировалось tarkovsky 16 ноя 2016, 07:56, всего редактировалось 1 раз.

Аватара пользователя
Максим
Сообщения: 5196
C нами: 6 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 16 ноя 2016, 07:54

Увы, но перестанет работать в других версиях PHP. Любые случайности, когда imagick работает (как вам кажется), это лишь случайности (т.е. половина функций может не работать, php может падать и т.д.). Вы всё сделали правильно, ну а тем, кому нужна работоспособность во всех версиях php, советую дождаться ближайшего обновления OS.

tarkovsky
Сообщения: 3
C нами: 1 год 9 мес

Непрочитанное сообщение tarkovsky » 16 ноя 2016, 08:01

Максим, когда ждать новую версию?

Аватара пользователя
Максим
Сообщения: 5196
C нами: 6 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 16 ноя 2016, 08:06

tarkovsky, 2-3 недели.

tarkovsky
Сообщения: 3
C нами: 1 год 9 мес

Непрочитанное сообщение tarkovsky » 16 ноя 2016, 08:18

Максим писал(а):tarkovsky, 2-3 недели.

Спасибо за ответ!
Большая просьба, не забудьте добавить в сборку php_memcache.dll для PHP7.
А то с ним такая же история.

Elfer
Сообщения: 3
C нами: 3 мес 28 дней

Непрочитанное сообщение Elfer » 28 июл 2017, 12:13

Максим, приветствую! Недавно перешёл на Open Server, сборка 5.2.2.
Столкнулся с проблемой работы Imagick для PHP 7.0. Вы писали более полугода назад, что в сборку PHP 7.0 войдёт Imagick. Какова ситуация на данный момент? Потому что у меня не работает:
include(Imagick.php): failed to open stream: No such file or directory

Вот не знаю, делать ли также, как tarkovsky предлагает.
Открыл phpinfo() там даже нету библиотеки Imagick. В папке "/modules/php/PHP-7.0/ext/" нету библиотеки "php_imagick.dll".
Подскажите, пожалуйста, как подключить для PHP 7.0? Windows 7 у меня.

GeekHacker
Сообщения: 114
C нами: 2 года 2 мес

Непрочитанное сообщение GeekHacker » 28 июл 2017, 12:48

Сделайте как описал Tarkovsky. Всё будет работать.

Elfer
Сообщения: 3
C нами: 3 мес 28 дней

Непрочитанное сообщение Elfer » 28 июл 2017, 13:03

Сделал, всё заработало. Спасибо большое Tarkovsky за чёткое решение.

zima
Сообщения: 2
C нами: 26 дней 2 часа

Непрочитанное сообщение zima » 27 окт 2017, 23:15

Я сделала все, как в указанном мануале, но получаю ошибку

PHP Warning: PHP Startup: Unable to load dynamic library 'c:/ospanel/modules/php/PHP-7.1/ext/php_imagic.dll' - The specified module could not be found.
in Unknown on line 0


мне нужно использовать PHP 7.1, может быть кто-то знает в чем причина?

Аватара пользователя
Ink0gnit0
Сообщения: 60
C нами: 4 года 8 мес

Непрочитанное сообщение Ink0gnit0 » 28 окт 2017, 08:24

zima,
В конфигурационном файле у вас указано php_imagic.dll, а нужно php_imagick.dll. Проверьте шаблон конфигурационного файла PHP, какое наименование расширения фигурирует. Сверьте с наименованием файла расширения в каталоге c:/ospanel/modules/php/PHP-7.1/ext/


Вернуться в «Полезные советы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость