Сегодня я попытался установить 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();