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
(注意:重启前后进程号核对一下是否重启成功)