CentOS安装PHP扩展imagick

Imagick是一款非常好用的PHP图片处理扩展工具,提供了丰富的图片处理API。

PHP扩展安装方法大体上有两种,一种是自己下载源码编译,一种是使用软件包管理工具。前一种胜在灵活,可控性强。后一种就是简单省事,步骤少。

开源世界的包依赖,一直都是有机会让人崩溃的问题,优秀的包管理工具对生产力都有很大的提升。

一、记录一下使用包管理工具的安装步骤

  1. 先安装ImageMagick
    $ yum install ImageMagick ImageMagick-devel
    安装开发包,是因为后面会用到
  2. 然后安装imagick扩展
    $ pecl install imagick
  3. 安装完之后,在php.ini配置中,增加
    extension=imagick.so
    如果不知道php.ini在哪,用这个命令
    $ php --ini

    顺利的话,安装过程这三个步骤就OK了,可以在phpinfo里查看扩展信息了
    $ php -i | grep imagick
    imagick module => enabled
    imagick module version => 3.7.0

    如果用的是php-fpm,生效还需要重启一下:
    $ systemctl restart php-fpm

二、使用pecl安装扩展的过程中,遇到了几个问题,解决方法也一并记录一下

  1. 报错Connection to `ssl://pecl.php.net:443' failed:
    原因是根证书需要更新,步骤如下:

    a. 找到证书文件路径
    $ php -r "print_r(openssl_get_cert_locations());”
    打印内容中的[default_cert_file]就是了

    b. 下载证书
    $ wget http://curl.haxx.se/ca/cacert.pem

    c. 覆盖旧的证书文件
    $ mv cacert.pem /usr/local/ssl/cert.pem (你自己的路径)
  1. 报错checking Testing /usr/local/bin/MagickWand-config… Doesn't exist
    checking Testing /some path/MagickWand-config… Doesn't exist

    找不到MagickWand-config,安装ImageMagick-devel即可解决。
  2. 提示Please provide the prefix of Imagemagick installation [autodetect] :
    这里意思是默认autodetect,直接回车就可以了。