imagemagick是一個開源的強大的適用於圖形圖像開發製做的軟件套件,與GD庫同等級別的,甚至有些功能是GD所沒有的,好比建立動態的gif圖 片。它基於命令行操做的,但同時爲大量的其它編程語言提供了接口。詳細請訪問官方網站是http://www.imagemagick.org
本文主要介紹imagemagick爲php語言提供的兩個擴展imagick和MagickWand for PHP的安裝。IMagick 已經被php最新的版本選爲內部的擴展函數庫,php的手冊已經有了函數說明使用文檔。這個擴展是可選安裝的。
imagemagick有兩款接口,分別是 MagickWand API 和MagickCore API。MagickCore API 是全面的底層的接口,比較適合高水平的程序員,而MagickWand API 是官方推薦的精選的重要的一些接口。IMagick和MagickWand for PHP就是分別爲這兩款接口而準備的。
下載地址
:
ImageMagick 6.3.6-10 http://sourceforge.net/projects/ImageMagick
IMagick http://pecl.php.net/package/imagick
MagickWand For PHP http://www.magickwand.org/
安裝
:
不管是安裝IMagick或者是MagickWand For PHP都須要先安裝ImageMagick。
1.安裝ImageMagick
$tar xzvf ImageMagick-6.3.6-10.tar.gz
$cd ImageMagick-6.3.6
$./configure
$make
$make install
服 務器若是沒有安裝Jpeg v6b、libPng、FreeType 的要在安裝imagemagick以前先裝好,不然imagemagick無法讀取jpeg和png圖片,字體文件也讀不了。下面是安裝 Imagemagick時./configure的結果,能夠查看imagickMagick是否支持哪些格式的圖片以及一些環境配置:
Host system type : i686-pc-linux-gnu
Option Value
-------------------------------------------------------------------------------
Shared libraries --enable-shared=yes yes
Static libraries --enable-static=yes yes
Module support --with-modules=yes yes
GNU ld --with-gnu-ld=yes yes
Quantum depth --with-quantum-depth=16 16
High Dynamic Range Imagery
--enable-hdri=no no
Delegate Configuration:
BZLIB --with-bzlib=yes yes
DJVU --with-djvu=no no
DPS --with-dps=yes no
FlashPIX --with-fpx=yes no
FontConfig --with-fontconfig=no no
FreeType --with-freetype=yes yes(支持)
GhostPCL None pcl6 (unknown)
Ghostscript None gs (7.07)
result_ghostscript_font_dir='none'
Ghostscript fonts --with-gs-font-dir=default
Ghostscript lib --with-gslib=yes no (failed tests)
Graphviz --with-gvc=yes no
JBIG --with-jbig=yes no
JPEG v1 --with-jpeg=yes yes(支持)
JPEG-2000 --with-jp2=yes no
LCMS --with-lcms=yes no
Magick++ --with-magick-plus-plus=yes yes
OpenEXR --with-openexr=yes no
PERL --with-perl=yes /usr/bin/perl
PNG --with-png=yes yes(支持)
RSVG --with-rsvg=no no
TIFF --with-tiff=yes no
result_windows_font_dir='none'
Windows fonts --with-windows-font-dir=
WMF --with-wmf=yes no
X11 --with-x= no
XML --with-xml=no no
ZLIB --with-zlib=yes yes
X11 Configuration:
X_CFLAGS =
X_PRE_LIBS =
X_LIBS =
X_EXTRA_LIBS =
Options used to compile and link:
PREFIX = /usr/local
EXEC-PREFIX = /usr/local
VERSION = 6.3.6
CC = gcc
CFLAGS = -g -O2 -Wall -W -pthread
MAGICK_CFLAGS = -g -O2 -Wall -W -pthread
CPPFLAGS = -I/usr/local/include
PCFLAGS =
DEFS = -DHAVE_CONFIG_H
LDFLAGS =
MAGICK_LDFLAGS = -L/usr/local/lib
LIBS = -lMagick -ljpeg -lbz2 -lz -lm -lpthread
CXX = g++
CXXFLAGS = -g -O2 -Wall -W -pthread
2.安裝Imagick
咱們採用不須要php源代碼的方法,即不須要從新編譯php,直接將Imagick源碼編譯成so擴展。
$tar xzvf imagick-2.0.1.tgz
$cd imagick-2.0.1
$phpize (此命令前提是你已經安裝了php,phpize能夠經過whereis命令查找出具體路徑)
$./configure
$make
$make install
安裝完成後系統會產生一個imagick.so文件,並提示路徑以下
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20060613/
這 個動態文件能夠給相同的php環境使用,好比我直接將imagick.so複製到/opt/lampp/lib/php/exention /extension/no-debug-non-zts-20060613/下,xampp環境就能夠使用這個動態擴展了,很是方便;
最後一步須要在php.ini加入extension=imagick.so這行,重啓apache.安裝完畢。
若是想編譯成php的一個靜態模塊,方法:
$tar xzvf imagick-2.0.1.tgz $PHP_SOURCE_DIR/ext/imagick
$rm configure && ./buildconf --force
$./configure (從新編譯php,在你其它選項最後加上) --with-imagick
$make && make install
3.安裝magickwand
咱們採用跟imagick相同的方法:
$tar xzvf MagickWandForPHP-1.0.5.tar.gz
$cd MagickWandForPHP-1.0.5
$phpize (此命令前提是你已經安裝了php,phpize能夠經過whereis命令查找出具體路徑)
$./configure
$make
$make install
安裝完成後系統會產生一個magickwand.so文件,並提示路徑以下
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20060613/
最後一步須要在php.ini加入extension=magickwand.so這行,重啓apache.安裝完畢。
若是想編譯成php靜態模塊:
PHP_SRC_DIR表明機器上的php源代碼路徑,例如/root/php-5.2.2
$tar xzvf MagickWandForPHP-1.0.5.tar.gz PHP_SRC_DIR/ext/magickwand/
$cd PHP_SRC_DIR/ext/magickwand/
$phpize (此命令前提是你已經安裝了php,phpize能夠經過whereis命令查找出具體路徑)
$cd PHP_SRC_DIR
$rm ./configure
$./buildconf --force
$./configure (從新編譯php,在你其它選項最後加上) --with-magickwand=/usr
最後經過phpinfo去查看安裝是否成功,關於使用待續。