linux下 安裝 ImageMagick 及其 php imagick擴展
PHP版本7.1.3 ;
ImageMagick版本 ImageMagick-7.0.8-3;
PHP擴展imagick版本 imagick-3.4.3RC3;
ImageMagick 安裝(第一步)
ImageMagick網址
http://www.imagemagick.org/script/install-source.php
首先下載ImageMagick,新版本ImageMagick-7.0.8-3
1.下載ImageMagick安裝包
2.解壓安裝包
#tar xvfz ImageMagick.tar.gz
3.進入文件
#cd ImageMagick-6.8.6-7/
4…設置安裝路徑.后面安裝php擴展需要用到;/usr/local/imagemagick
#./configure --prefix=/usr/local/imagemagick
5.編譯
#make && make install
PHP imagick擴展安裝(第二步)
1.下載imagick-3.4.3RC3
2.解壓安裝包
#tar zxvf imagick-3.4.3RC3.tgz
3.進入安裝文件
#cd imagick-3.4.3RC3/
4.執行phpize命令
#/usr/local/php/bin/phpize
5.ImageMagick 6.8以上版本目錄為/usr/local/include/ImageMagick-X,在configure之前先做下軟連接
#ln -s /usr/local/imagemagick/include/ImageMagick-7 /usr/local/imagemagick/include/ImageMagick
6.執行configure配置
./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
7.編譯
#make
#make install
(完成)
imagick無法安裝時的解決辦法
首先確認各種格式的圖片代理有沒有安裝
> 安裝 ImageMagick 代理 - jpeg 代理 https://www.imagemagick.org/download/delegates/jpegsrc.v9b.tar.gz - png 代理: https://www.imagemagick.org/download/delegates/libpng-1.6.31.tar.gz - GIF 代理 https://www.imagemagick.org/download/delegates/freetype-2.8.1.tar.gz
docker的alpine系統中需要apk安裝:
apk add jpeg-dev libpng-dev freetype-dev
有時安裝imagick是會提示:
1
|
“configure: error: not found. Please provide a path to MagickWand-config
or
Wand-config program.”
|
這是因為只安裝了“ImageMagick”而沒有安裝“ImageMagick-devel”,通過下面的命令行安裝ImageMagick-devel,然后重新按上面的步驟安裝imagick就好了。
1
|
yum install ImageMagick-devel
|
或者
sudo apt-get install libmagickcore-dev libmagickwand-dev
|
擴展- PHP imagick擴展安裝(第二步)可能會遇到的問題解決:
(;configure通過,在make時出現錯誤error: wand/MagickWand.h: No such file or directory
解決辦法:
#yum install gtk2-devel
#export PKG_CONFIG_PATH=/usr/local/imagemagick/lib/pkgconfig/
;
;然后重新安裝imagick
;
#cd imagick-3.4.3RC3/
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
#make
#make install)
修改PHP配置文件(第三步)
修改php.ini文件,添加extension=fileinfo.so
重啟nginx和php
nginx重啟命令:systemctl restart nginx
php重啟命令:systemctl restart php-fpm
(注意:重啟前后進程號核對一下是否重啟成功)