php安装扩展imagick
之前使用GD库可以满足项目中需要的头像,图片的处理。包括群和讨论组的类似QQ讨论组九宫格头像拼接也用GD库实现了。
但是,在用户量逐步涨上来的时候,效率上就满足不了。即便做了异步队列来异步生成讨论的头像,还是会有延迟显示的问题出现。
索性,直接换上imagick。
先解释下名词,这两者的关系;
- ImageMagick:
ImageMagick 是用来创建,编辑,合并位图图像的一套组件。 它能够用于读取,转换,写入多种不同格式的图像。 包含 DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, 和 TIFF。
- imagick:
imagick 是用 ImageMagic API 来创建和修改图像的PHP官方扩展。
imagick的PHP扩展库地址:http://pecl.php.net/package/imagick
一、安装ImageMagick:
两种方式安装:
- 源码安装;
- rpm软件包安装;
推荐使用rpm软件包安装,注意root权限同时安装 ImageMagick 和 ImageMagick-libs。
这里使用的是源码安装,注意是root权限,步骤如下:
1.下载源码:
$ wget http://www.imagemagick.org/download/ImageMagick.tar.gz
2.解压:
$ tar zxf ImageMagick.tar.gz
3.进入目录:
$ cd ImageMagick-7.0.7-15
4.检查配置环境, 生成 Makefile:
$ ./configure --prefix=/usr/local/ImageMagick-7
官方推荐高级用户使用:
$ ./configure --with-modules --enable-shared --with-perl
5.编译并安装:
$ make && make install
6.检查是否安装成功:
$ convert -version
二、安装PHP扩展imagick:
也有两种方式安装:
- 源码安装;
需要指定 ImageMagick 的安装目录
- pecl安装;
rpm软件包安装 ImageMagick ,使用 pecl 安装更快捷。
root 权限执行: $ pecl install imagick
下载:wget http://pecl.php.net/get/imagick-3.4.3.tgz
这里也使用源码安装imagick扩展,步骤如下:
- 下载imagick:
$ wget http://pecl.php.net/get/imagick-3.4.3.tgz
- 解压:
$ tar zxvf imagick-3.4.3.tgz
- 进入目录:
$ cd imagick-3.4.3
- 生成configure配置文件:
$ phpize
- 检查配置环境, 生成 Makefile, 指定 ImageMagick 路径:
$ ./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/ImageMagick-7
- 编译并安装:
$ make && make install
备注:在安装过程中出现错误,一般是由于缺少编译工具包导致,可根据提示参照第一步安装相应的工具包即可。安装完成之后,出现下面的界面:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/Installing header files: /usr/local/php/include/php/
- 配置 php 支持 imagick:
- 查看php.ini路径:
$ php --ini Configuration File (php.ini) Path: /usr/local/php/etc
Loaded Configuration File: /usr/local/php/etc/php.ini
Scan for additional .ini files in: /usr/local/php/conf.d
Additional .ini files parsed: /usr/local/php/conf.d/002-zendguardloader.ini
- 编辑配置文件,添加扩展支持:
$ vim /usr/local/php/etc/php.ini
在最后一行添加, extension="imagick.so"
- 重载php-fpm:
$ service php-fpm reload # CentOS7 可以使用此命令,或者 systemctl reload php-fpm
- 检查扩展是否安装成功:
$ php -m | grep imagick
- 查看imagick扩展信息:
$ php --ri imagick
以上是 php安装扩展imagick 的全部内容, 来源链接: utcz.com/z/516247.html