mac安装ImageMagick与PHP扩展Imagick

2020-01-09 01:24:28

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


  • 2019-11-26 11:08:02

    多边型无序点排序(地图绘制多边形)

    任务需求要做一个区域高亮的功能,用到地图,想到了高德地图的多边形API,但是多边形顶点的顺序是要有序的,需求是无序,在API查找无果的情况下,只能手动实现点集合排序。

  • 2019-11-26 11:11:59

    正多边形的编程绘制(javascript)

    如何用程序来绘制正多边形? 在一般情况下,会使用 x = radius * Math.cos(angle), y = radius * Math.sin(angle) 来进行绘制,但这是关于x轴对称的,如果遇到正多边形的边数为奇数,而你又希望它是以y轴对称时,可按照下面的方法。

  • 2019-11-26 13:36:28

    Vue组件命名找不到的问题以及如何给vue组件命名

    首先,Vue 会将 template 中的内容插到 DOM 中,以方便解析标签。由于 HTML 标签不区分大小写,所以在生成的标签名都会转换为小写。例如,当你的 template 为 <MyComponent></MyComponent> 时,插入 DOM 后会被转换为 <mycomponent></mycomponent>。 然后,通过标签名寻找对应的自定义组件。匹配的优先顺序从高到低为:原标签名、camelCase化的标签名、PascalCase化的标签名。例如 <my-component>会依次匹配 my-component、myComponent、MyComponent。camelCase 和 PascalCase 的代码

  • 2019-11-28 11:00:35

    Vue子组件调用父组件的方法

    下面有三种方法,我自己重点推荐第一种,毕竟这种简单粗暴好用好理解,不过这个有一个弊端,再组件嵌套组件的时候,尤其是用第三方组件里面调用自己的子组件的时候,其实已经是孙子组件了,这个时候就要parent.parent。。。。,这样就不好了,我们就得考虑其他方法了,具体怎么判断是父组件,还是爷爷组件,我会单独出一篇文章讲述。