欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Linux下安装 php imagick扩展

程序员文章站 2022-04-21 11:52:10
...

今天小编 由于工作需求用到了 imagick 这个 扩展 服务器环境是 lnmp 架构下面稍微来介绍下 这个 东东 imagick是一个PHP的 扩展 ,用ImageMagick提供的API来进行图片的创建与修改,不过这些操作已经包装到 扩展 imagick中去了, 最终调用的是ImageMagick提供

今天小编 由于工作需求用到了 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高