it-roy-ru.com

Как установить imagick в xampp/wamp в Windows

Сегодня я пытался установить imagick в моем xampp сто раз. И я это сделал. Если у вас возникли проблемы, попробуйте выполнить следующие действия:

  1. Поскольку xampp - x86, проверьте, является ли ваша Image Magick (программа) x86. Если нет, загрузите последнюю версию здесь: imagemagick.org/script/binary-releases.php#windows Пожалуйста, помните, что вы ДОЛЖНЫ загрузить Win32 dynamic at 16 bits-per-pixel.
  2. Установите Image Magick на C:\imagemagick.
  3. Загрузите последнюю стабильную версию imagick здесь: . Вы ДОЛЖНЫ загрузить 5.x Thread Safe (TS) x86. X в 5.x - это версия вашего PHP.
  4. Поместите php_imagick.dll в папку php/ext вашей установки xampp.
  5. Добавьте это в свой php.ini: extension=php_imagick.dll
  6. Вот когда у меня много проблем. Если вы попытаетесь запустить сервер (или напишите php в консоли (start-> cmd)), вы получите ошибку. Если эта ошибка говорит что-то вроде этого: Unable to find the entry point for the procedure FlattenImages in the DLL CORE_RL_magick.dll, это означает, что у вас все в порядке.
  7. Теперь вы должны зайти в папку установки Image Magick и перезаписать DLL, который вы скачали, с помощью php_imagick.dll. Все они начинаются с префикса CORE_RL_.
  8. После того, как вы перезаписали их все, вы можете попробовать написать php в консоли Windows. Если что-то не сказано, это означает, что imagick работает функционально (вы можете проверить localhost/xampp/ > phpinfo() link. Лично мне пришлось установить новую DLL: vcomp110.dll. Если у кого-то такая же ошибка, как у меня (система не может найти vcomp11.dd) скачать его здесь

Теперь, если вы попытаетесь исключить php на консоли или просто инициализировать модуль Apache в xampp, у вас не должно быть ошибок.

До свидания и надеюсь, что я могу помочь кому-то.

Правка: при попытке convert some-img.bmp some-result.jpg в консоли, у меня была эта ошибка: convert.exe: unable to open module file 'C:\Users\my-acc\.magick\IM_MOD_RL_BMP_.dll': No such file or directory @ ... Это произошло, когда нет папки .magick в my-acc. То, что вам нужно сделать, это:

  1. Создайте папку с именем .magick в папке my-acc. Поскольку имя начинается с остановки, вам нужно создать его через консоль. Вот команды:

    1.1. c:

    1.2. cd Users\my-acc

    1.3. mkdir .magick

  2. Перейдите к C:\imagemagick\modules\coders и скопируйте все файлы в последнюю созданную папку.

Теперь вы сможете использовать Image Magick с помощью команд или классов PHP.

На фоне, если вы используете Codeigniter, я понятия не имею, как использовать image_lib с imagick. Так что лучше с собственными классами Imagick. Вот простой пример:

$image = new Imagick($upload_data['full_path']);
$image->thumbnailImage(250,0);
if($image->writeImage($upload_data['file_path'].$upload_data['raw_name'].'_thumb'.$upload_data['file_ext'])){
    something here;
}
$image->clear();
26
Luciano Graziani

Этот ответ может быть крайне наивным, но я обнаружил, что выполнение задач в Windows обычно слишком болезненно. Многие люди согласны с этим и нашли утешение в инструменте, известном как «шоколадный».

Во-первых, установите chocolatey на свой компьютер с Windows (очень простые инструкции по установке):

https://chocolatey.org/

Затем используйте chocolatey, чтобы установить все остальное, что вам нужно (в данном случае imagemagick):

https://chocolatey.org/packages/imagemagick

Я подозреваю, что после этого вам, возможно, придется внести небольшие изменения в файлы конфигурации, а также обработать все «разрешения Windows», необходимые для обеспечения бесперебойной работы. Разрешения могут быть такими же простыми (и не обязательно безопасными), как «полный контроль» для некоторых пользователей, плюс активация наследования и перезапись всех настроек детей для использования наследования.

Короче, устанавливать, настраивать, разрешения, идти.

PS. Этот ответ может быть неполным/прототипным/экспериментальным, так как я не запускаю codeigniter, php, imagemagick в Windows.

3
starlocke

Это практическое руководство по Winderfind прекрасно, но для меня это еще не завершено, чтобы устранить все проблемы. Прежде всего, взгляните на этот учебник: http://hrt0kmt.hatenablog.com/entry/2015/05/27/170608

Во-вторых, я обнаружил, что не все версии ImageMagick будут работать со всеми версиями php_imagick.dll. Посмотрите мои и другие ответы на этот пост для дальнейшего устранения неполадок: Поддерживаемые форматы ImageMagick нет значения

0
Jorr.it