PHP使用ImageMagick代替GD库

ImageMagick模块我们使用DSO动态编译加载的方式,这样避免重新编译安装php
[root@cgstest ImageMagick-6.6.0-0]# mkdir /usr/local/ImageMagick
wget http://ftp.nluug.nl/ImageMagick/ImageMagick-6.6.0-0.tar.gz
//注意,我之前使用最新版本ImageMagick-6.6.6-10 ,结果编译总是出错,坛子上看到有人与我同样问题,原因是gcc版本太低,生产服务器上不能轻易变动,有时候新版本不一定是适合的,所以我降低版本后编译成功。
安装ImageMagick-6.6.0-0 
[root@cgstest ImageMagick-6.6.0-0]# ./configure LDFLAGS="-L/usr/lib" CPPFLAGS="-I/usr/include" --prefix=/usr/local/ImageMagick/ --enable-shared --enable-lzw
make && make install

wget http://www.magickwand.org/download/php/MagickWandForPHP-1.0.8.tar.gz
安装MagickWandForPHP-1.0.8
[root@cgstest MagickWandForPHP-1.0.8]#/usr/local/php/bin/phpize
[root@cgstest MagickWandForPHP-1.0.8]# ./configure --with-magickwand=/usr/local/ImageMagick --with-php-config=/usr/local/php/bin/php-config
make && make install
 

wget http://pecl.php.net/get/imagick-3.0.1.tgz
安装imagick-3.0.1
//This extension requires ImageMagick version 6.2.4+ and PHP 5.1.3+. 注意版本的需求
[root@cgstest imagick-3.0.1]# /usr/local/php/bin/phpize
[root@cgstest imagick-3.0.1]# ./configure --with-imagick=/usr/local/ImageMagick/ --with-php-config=/usr/local/php/bin/php-config
make && make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

配置php.ini ,增加以下内容
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/"
extension = imagick.so
extension = magickwand.so

重启apache,测试查看phpinfo.php是不是已经加载上了呢。

ImageMagick处理过的效果显示http://www.imagemagick.org/image/examples.jpg