php安装扩展imagick

以前使用GD库能够知足项目中须要的头像,图片的处理。包括群和讨论组的相似QQ讨论组九宫格头像拼接也用GD库实现了。 可是,在用户量逐步涨上来的时候,效率上就知足不了。即使作了异步队列来异步生成讨论的头像,仍是会有延迟显示的问题出现。php

索性,直接换上imagickshell

先解释下名词,这二者的关系;vim

  1. ImageMagick:

ImageMagick 是用来建立,编辑,合并位图图像的一套组件。 它可以用于读取,转换,写入多种不一样格式的图像。 包含 DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, 和 TIFF。异步

  1. imagick:

imagick 是用 ImageMagic API 来建立和修改图像的PHP官方扩展。 imagick的PHP扩展库地址:http://pecl.php.net/package/imagickphp-fpm

1、安装ImageMagick:

两种方式安装:工具

  • 源码安装;
  • rpm软件包安装;

推荐使用rpm软件包安装,注意root权限同时安装 ImageMagick 和 ImageMagick-libs。.net

这里使用的是源码安装,注意是root权限,步骤以下:debug

1.下载源码:code

$ 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

2、安装PHP扩展imagick:

也有两种方式安装:

  • 源码安装;

须要指定 ImageMagick 的安装目录

  • pecl安装;

rpm软件包安装 ImageMagick ,使用 pecl 安装更快捷。
root 权限执行: $ pecl install imagick

下载:wget  http://pecl.php.net/get/imagick-3.4.3.tgz

这里也使用源码安装imagick扩展,步骤以下:

  1. 下载imagick:
$ wget http://pecl.php.net/get/imagick-3.4.3.tgz
  1. 解压:
$ tar zxvf imagick-3.4.3.tgz
  1. 进入目录:
$ cd imagick-3.4.3
  1. 生成configure配置文件:
$ phpize
  1. 检查配置环境, 生成 Makefile, 指定 ImageMagick 路径:
$ ./configure --with-php-config=/usr/local/php/bin/php-config  \
--with-imagick=/usr/local/ImageMagick-7
  1. 编译并安装:
$ 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/
  1. 配置 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"

  1. 重载php-fpm:
$ service php-fpm reload   # CentOS7 可使用此命令,或者 systemctl reload php-fpm
  1. 检查扩展是否安装成功:
$ php -m | grep imagick
  1. 查看imagick扩展信息:
$ php --ri imagick
相关文章
相关标签/搜索