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
相關文章
相關標籤/搜索