Linux下安装 php imagick扩展

时间:2021-03-16 10:11:20

      今天小编 由于工作需求用到了 imagick 这个扩展  服务器环境是 lnmp 架构下面稍微来介绍下 这个 东东

      imagick是一个PHP的扩展,用ImageMagick提供的API来进行图片的创建与修改,不过这些操作已经包装到扩展imagick中去了,

最终调用的是ImageMagick提供的API. 所以这就必须要安装 ImageMagick 。那么 ImageMagick 这个又是啥东东呢 下面来说下

       ImageMagick则是一套软件系列,主要用于图片的创建、编辑以及转换等,详细的解释见ImageMagick

的官方网站 http://www.imagemagick.org/,ImageMagick与GD的性能要高很多,如果是在处理大量的图片时更加能体现

ImageMagick的性能。

 
好的看了上面的介绍 你就知道imagick的强大了吧 下面我们一步一步的安装

1>  首先下载 ImageMagick 

#  wget ftp://ftp.u-aizu.ac.jp/pub/graphics/image/ImageMagick/imagemagick.org/ImageMagick.tar.gz

这里下载的是 ImageMagick 最新版本 。下载之后我们解压 

#tar -xzvf ImageMagick.tar.gz    //解压好了之后我们进入这个目录

#cd ImageMagick-6.8.6-5          // 这个是我解压之后的ImageMagick目录名称

# ./configure --prefix=/usr/local/imagemagick  // 第一步配置安装 这个基本不会出现啥问题的
# make                    //第二步    
# make install                  //第三步

 好的 我们安装ImageMagick 安装好了 我们告一段落 我们来安装 imagick 这个东东

 

2>  首先下载 imgick

# wget http://pecl.php.net/get/imagick-3.1.0b1.tgz  //下载地址随时都会变 具体根据

# tar -xzvf imagick.tar.gz              //解压

# cd imagick-3.0.1                                                // 这个是我解压之后的imagick目录名称

# phpize                                                             //看看这个有木有

# ./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick  //第一步操作 注意自己当时安装的 php配置路径

唉安装到这步的时候我就哭了 你个渣渣 竟然说找不到 MagickWand.h 这个东西

checking for MagickWand.h header file... configure: error: Cannot locate header file MagickWand.h

 我看到这个错误的做法就是问度娘 网上是这么说的

   原来ImageMagick 6.8这个版后的目录结构变了,旧版本头文件是放在/usr/local/include/ImageMagick目录的,

   而ImageMagick 6.8则是放在/usr/local/include/ImageMagick-6  尼玛我也不懂这是啥意思

我按照网上的操作 ln -s /usr/local/include/ImageMagick-6 /usr/local/include/ImageMagick 这么了一下  

继续

# ./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick

的时候又报错了 我了个擦 这是要玩我么

Linux下安装 php imagick扩展

 

我又问了问度娘。。

我们先来查找下 pkgconfig 的位置吧 

# find /usr/local/ -name pkgconfig

结果出来了
/usr/local/lib/pkgconfig
/usr/local/apache--/lib/pkgconfig
/usr/local/libxml2/lib/pkgconfig
/usr/local/imagemagick/lib/pkgconfig

找到了这么多的 pkgconfig 这里肯定是的要 imagemagick 这个pkgconifg 目录

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

# export PKG_CONFIG_PATH=/usr/local/imagemagick/lib/pkgconfig

# make        //第二步

# make install     //完成      

执行结果显示

Linux下安装 php imagick扩展

 代表安装成功了

  imagick.so 生成在 /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ 目录下

修改php.ini 配置

# vi /usr/local/php/etc/php.ini

 把 ;extension_dir ="/";

修改为
extension_dir = /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

添加一行

imagick.so //这是添加了 imagick的扩展

 

最后一步 如果是apache服务器的话 apache restart 

小编用的是nginx  /usr/local/nginx/sbin/nginx -s reload 这样的话是没效果的

只有

#kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`  这样才行 因为nginx是通过 php-fpm 运行的 只有重启才生效

好的我们打印下 phpinfo

Linux下安装 php imagick扩展

 好的imagick安装完成。。

注:安装imagick扩展时需要PHP >= 5.1.3,ImageMagick >= 6.2.4

                                                                                                                                                 本文为博客园 Sudo高 原创,请尊重作者版权,转载请注明出处