Подтвердить что ты не робот

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

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

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

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

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

EDIT: при попытке 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 @ ... Это произойдет, если в my-acc нет папки .magick. Вам нужно сделать следующее:

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

    1,1. c:

    1,2. cd Users\my-acc

    1,3. mkdir .magick

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

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

В фоновом режиме, если вы используете Codeigniter, я не знаю, как использовать image_lib с 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();
4b9b3361

Ответ 1

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

Сначала установите шоколадный на вашей машине Windows (инструкции по простой установке):

https://chocolatey.org/

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

https://chocolatey.org/packages/imagemagick

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

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

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

Ответ 2

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

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