mac安装ImageMagick和php7.2扩展Imagick,从网上搜索教程,感觉好少,有的教程看起来也很麻烦,不过安装起来,没想到竟然如此简单。不非纯灰之力。
步骤一:
安装ImageMagick
brew install ImageMagick
直接成功
步骤而:
安装PHP扩展Imagick
直接 sudo pecl install imagick
竟然直接完事了,并且自动配置到了php.ini 上,真是太智能了,重启php,访问接口,好来。
如果中间出现了什么差错,请看下面的地址。
参考地址 mac安装ImageMagick与PHP扩展Imagick
一、安装ImageMagick
curl -O ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar -zxf ImageMagick.tar.gz
cd ImageMagick--7.0.7-21/
./configure --prefix=/usr/local/ImageMagick
make
sudo make install
二、安装PHP扩展Imagick
看了网上好多方式安装,尝试了很多次,进了各种坑,还是发现这种方式最好。
1、pear/pecl 需要单独进行安装
curl -O http://pear.php.net/go-pear.phar
sudo php -d detect_unicode=0 go-pear.phar
输入1,回车,配置pear路径为:/usr/local/pear,回车
输入4,回车,配置命令路径为:/usr/local/bin,回车
回车两次,其他让其默认,安装完成
pear version 检查pear安装是否成功
2、通过pecl安装imagick扩展
sudo pecl install imagick
如果出现pkg-config: command not found,就执行brew install pkg-config,然后再执行一次上步的安装即可,其他问题见下面问题及解答
然后出来Please provide the prefix of Imagemagick installation[autodetect] :
输入/usr/local/ImageMagick,也就是上一步的前缀,注意大小写
然后出现:
就说明安装成功了,同时提醒你到php.ini里添加extension=imagick.so这句扩展
3、查看扩展是否成功安装
php -m 查看扩展已经安装上了,但是phpinfo()在浏览器中并没有显示出来,此时重启php-fpm即可:
php-fpm.restart
php -m ==看php扩展
php -i ==看phpinfo
php -i |grep php.ini ==查看php.ini所在位置
三、遇到的问题:
问题1:
checking for MagickWand.h header file… configure: error: Cannot locate header file MagickWand.h
原因:
ImageMagick 6.8这个版后的目录结构变了,旧版本头文件是放在/usr/local/ImageMagick/include/ImageMagick目录的,而ImageMagick 6.8则是放在/usr/local/ImageMagick/include/ImageMagick-6
解决方法:添加软连接,命令如下
sudo ln -s /usr/local/ImageMagick/include/ImageMagick-7 /usr/local/ImageMagick/include/ImageMagick
make && sudo make install
问题2:
/usr/local/ImageMagick/bin/MagickWand-config: line 53: pkg-config: command not found
原因:没有安装pkg-config工具
解决方法:
brew install pkg-config
问题3:错误信息
./php_imagick.h:49:12: fatal error: ‘wand/MagickWand.h’ file not found
# include <wand/MagickWand.h>
^
1 error generated.
make: *** [imagick_class.lo] Error 1
原因:没安装pkg-config工具导致
解决方法:
按照上一步安装pkg-config 即可。需要注意的是 少一个参数或者有一个不对的,可能会折腾好久。
问题4:
No releases available for package "pecl.php.net/imagick"
网络问题,换个快点的网络即可
问题5:
pecl/imagick is already installed and is the same as the released version 3.4.3
sudo pecl uninstall imagick,然后再sudo pecl install imagick