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


  • 2017-02-16 08:09:01

    HTML中PRE和p的区别

    pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。 <pre> 标签的一个常见应用就是用来表示计算机的源代码。

  • 2017-02-16 15:14:14

    动态加载js和css

    开发过程中经常需要动态加载js和css,今天特意总结了一下常用的方法。

  • 2017-02-17 17:11:24

    mysql插入数据后返回自增ID的方法c

    产生的ID 每次连接后保存在服务器中。这意味着函数向一个给定客户端返回的值是该客户端产生对影响AUTO_INCREMENT列的最新语句第一个 AUTO_INCREMENT值的。这个值不能被其它客户端影响,即使它们产生它们自己的 AUTO_INCREMENT值。这个行为保证了你能够找回自己的 ID 而不用担心其它客户端的活动,而且不需要加锁或处理

  • 2017-02-21 07:59:45

    不会被 iOS 停掉的网页定时器

    其实这个标题略微有点标题党:iOS 中,除了少数服务(如播放音乐),大部分 App 在用户按了 Home 键之后,过不了多久就会被完全冻结,这对 Safari 同样适用。本文不考虑这样情况,只考虑 Safari 运行时,怎样让定时器持续工作。