imagemagick, imagick和magickwand的安装

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

  1. $tar xzvf ImageMagick-6.3.6-10.tar.gz
  2. $cd ImageMagick-6.3.6
  3. $./configure
  4. $make
  5. $make install


服务器如果没有安装Jpeg v6b、libPng、FreeType 的要在安装imagemagick之前先装好,否则imagemagick没法读取jpeg和png图片,字体文件也读不了。下面是安装Imagemagick时./configure的结果,可以查看imagickMagick是否支持哪些格式的图片以及一些环境配置:

安装信息

  1. Host system type : i686-pc-linux-gnu
  2. Option                        Value
  3. ——————————————————————————-
  4. Shared libraries  –enable-shared=yes           yes
  5. Static libraries  –enable-static=yes           yes
  6. Module support    –with-modules=yes            yes
  7. GNU ld            –with-gnu-ld=yes             yes
  8. Quantum depth     –with-quantum-depth=16       16
  9. High Dynamic Range Imagery
  10. –enable-hdri=no              no
  11. Delegate Configuration:
  12. BZLIB             –with-bzlib=yes              yes
  13. DJVU              –with-djvu=no                no
  14. DPS               –with-dps=yes                no
  15. FlashPIX          –with-fpx=yes                no
  16. FontConfig        –with-fontconfig=no          no
  17. FreeType          –with-freetype=yes           yes(支持)
  18. GhostPCL          None                          pcl6 (unknown)
  19. Ghostscript       None                          gs (7.07)
  20. result_ghostscript_font_dir=’none’
  21. Ghostscript fonts –with-gs-font-dir=default
  22. Ghostscript lib   –with-gslib=yes              no (failed tests)
  23. Graphviz          –with-gvc=yes                no
  24. JBIG              –with-jbig=yes               no
  25. JPEG v1           –with-jpeg=yes               yes(支持)
  26. JPEG-2000         –with-jp2=yes                no
  27. LCMS              –with-lcms=yes               no
  28. Magick++          –with-magick-plus-plus=yes   yes
  29. OpenEXR           –with-openexr=yes            no
  30. PERL              –with-perl=yes               /usr/bin/perl
  31. PNG               –with-png=yes                yes(支持)
  32. RSVG              –with-rsvg=no                no
  33. TIFF              –with-tiff=yes               no
  34. result_windows_font_dir=’none’
  35. Windows fonts     –with-windows-font-dir=
  36. WMF               –with-wmf=yes                no
  37. X11               –with-x=                     no
  38. XML               –with-xml=no         no
  39. ZLIB              –with-zlib=yes               yes
  40. X11 Configuration:
  41. X_CFLAGS        =
  42. X_PRE_LIBS      =
  43. X_LIBS          =
  44. X_EXTRA_LIBS    =
  45. Options used to compile and link:
  46. PREFIX          = /usr/local
  47. EXEC-PREFIX     = /usr/local
  48. VERSION         = 6.3.6
  49. CC              = gcc
  50. CFLAGS          = -g -O2 -Wall -W -pthread
  51. MAGICK_CFLAGS   = -g -O2 -Wall -W -pthread
  52. CPPFLAGS        = -I/usr/local/include
  53. PCFLAGS         =
  54. DEFS            = -DHAVE_CONFIG_H
  55. LDFLAGS         =
  56. MAGICK_LDFLAGS  = -L/usr/local/lib
  57. LIBS            = -lMagick -ljpeg -lbz2 -lz -lm -lpthread
  58. CXX             = g++
  59. CXXFLAGS        = -g -O2 -Wall -W -pthread

2.安装Imagick
我们采用不需要php源代码的方法,即不需要重新编译php,直接将Imagick源码编译成so扩展。

安装Imagick

  1. $tar xzvf imagick-2.0.1.tgz
  2. $cd imagick-2.0.1
  3. $phpize (此命令前提是你已经安装了php,phpize可以通过whereis命令查找出具体路径)
  4. $./configure
  5. $make
  6. $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的一个静态模块,方法:

  1. $tar xzvf  imagick-2.0.1.tgz $PHP_SOURCE_DIR/ext/imagick
  2. $rm configure && ./buildconf –force
  3. $./configure (重新编译php,在你其它选项最后加上) –with-imagick
  4. $make && make install

3.安装magickwand
我们采用跟imagick相同的方法:

安装magickwand

  1. $tar xzvf MagickWandForPHP-1.0.5.tar.gz
  2. $cd MagickWandForPHP-1.0.5
  3. $phpize (此命令前提是你已经安装了php,phpize可以通过whereis命令查找出具体路径)
  4. $./configure
  5. $make
  6. $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

编译成php静态模块

  1. $tar xzvf MagickWandForPHP-1.0.5.tar.gz PHP_SRC_DIR/ext/magickwand/
  2. $cd PHP_SRC_DIR/ext/magickwand/
  3. $phpize (此命令前提是你已经安装了php,phpize可以通过whereis命令查找出具体路径)
  4. $cd PHP_SRC_DIR
  5. $rm ./configure
  6. $./buildconf –force
  7. $./configure (重新编译php,在你其它选项最后加上) –with-magickwand=/usr

到此就可以使用phpinfo信息看到imagick和magicwand安装上的信息了。

PS:现在请尽量使用imagick程序,magicwand已经N久没有更新了。而且magicwand在64位机上会无法编译。

原文地址: http://www.phpubb.com/blog/show-20-1.html

相关文章

发表评论

返回顶部