百度空间 | 百度首页 
               
 
查看文章
 
来自网友的“MagickWand for PHP”配置
2007-04-25 15:12
转自:http://www.dirk.sh/tag/magickwand

------------------------------------------------------------------------------------

JPEG2000 引起 MagickWand for PHP 在 FreeBSD 下段错误

@由 DIrk 发表于 2007-02-19 Monday

MagickWand for PHPPHP 下针对 ImageMagick 这个强大软件包的 API 接口,但在 FreeBSD 下,如果你在编译 ImageMagick 的时候将 IMAGEMAGICK_JPEG2000 编译进去了,你的 PHP 在启用 MagickWand 模块后会发生段错误,无法正常使用 PHP

解决方法也就显而易见,在通过 /usr/ports/graphics/ImageMagick 安装 ImageMagick 的时候,执行 make config 命令并取消掉对 IMAGEMAGICK_JPEG2000 的选项,然后进行编译和安装。

------------------------------------------------------------------------------------

在 Windows 下编译 MagickWand for PHP (Magickwand for Windows)

@由 DIrk 发表于 2006-12-30 Saturday

MagickWand 使用起来还是非常方便和强大的,我的开发环境是 Ubuntu Linux,所以安装 MagickWand for PHP 扩展没有任何问题,但我的项目团队中大部人还在使用 Windows。Windows 下的 Magickwand for PHP 原先是由 watson 维护的,但自从 PHP-5.0.4 之后,watson 由于没有时间,一直没有更新,PHP 后面的更新变动比较大,旧的 php-5.0.4_magickwand.dll 已经无法运行在最新的 PHP-5.2.0 下,在网上搜了又搜,没有人继续这个工作。

我不想切换到 imagick 这个 PECL 包上,毕竟 MagickWand 更新、更好用,但又不想为了 Windows 开发环境利用 ImageMagick 命令行方式重新实现我所有的图片处理函数,没有办法,只有看看能否自己编译一个 MagickWand for PHP on Windows。

编译的工作是很累的,涉及到 PHP-5.2.0 的编译ImageMagick 本身的编译,还要自己处理 MagickWand 的 Win32 工程文件,虽然花费了半天时间,但最后的成果还是相当喜人的:

说明:

1、编译环境:Windows 2000,Visual Studio 6.0,PHP-5.2.0,ImageMagick-6.2.9,Magickwand-0.1.8;
2、使用了 ImageMagick 的 QuantumDepth=16;
3、在 Windows 2000 + Apache 2.0.59 + PHP 5.2.0 环境下测试通过;
4、我目前不再使用 PHP-4.x,所以只编译了 PHP-5.2.0 的。

如果你也在使用 ImageMagick 进行图片处理,那么最好使用 API 方式,直接使用 ImageMagick 的命令行工具是非常低效的。下载我的 Magickwand for PHP DLL 试试,相当不错的体验;另外,如果你使用静态版本,根本不需要安装 ImageMagick。

-----------------------------------------------------------------------------------

在 Ubuntu 下安装 MagickWand for PHP

@由 DIrk 发表于 2006-12-18 Monday

ImageMagick 是一套非常强大的图片处理软件,包含了很多非常有用的功能命令。在 Web 开发中,需要进行大量针对图片的操作,如果借助 ImageMagick 的强大威力,可以使复杂的图片处理变得随心所欲。在 PHP 中使用 ImageMagick 可以有两种方式:1、直接在 PHP 中调用 ImageMagick 的命令行工具,通过传递参数实现各种图片的处理;2、使用 ImageMagick 针对 PHP 的扩展 API

从灵活性上来说,使用第一种方式更加合适,但从性能和可控制性(比如错误处理)方面来说,我们更倾向于使用 PHP 扩展的方式,直接在 PHP 中调用接口函数的方式。ImageMagick for PHP 的类库目前有两个,一个是 PECL 提供的 imagick ,另外一个是 Imagemagick 自己的 MagickWand。看了一些两个类库的文档,从我个人看来,我更喜欢 MagickWand 的 API 方式,所以选择 MagickWand 作为我的 ImageMagick for PHP 扩展。

选定后,需要解决安装问题,我目前使用 Ubuntu 作为开发桌面系统和 FreeBSD 作为服务器系统,在 Ubuntu 下的安装稍微麻烦一点,好像还没有 deb 包可用,需要从源代码自己编译:

1、先安装 ImageMagick 软件包:
dirk@ubuntop:~$ sudo apt-get install imagemagick libmagick9-dev
2、安装以下编译需要的软件包:
dirk@ubuntop:~$ sudo apt-get install build-essential
dirk@ubuntop:~$ sudo apt-get install php5-dev
3、找一个目录,下载 PHP 的源代码(我使用的是 PHP5):
dirk@ubuntop:~$ sudo apt-get source php5

这时候,会将 PHP5 的源代码解压缩到当前目录下,进入该目录下的 ext/ 子目录:

dirk@ubuntop:~$ cd php5-5.1.6/ext

4、下载并解压缩 MagickWand 代码包:

dirk@ubuntop:ext$ wget http://www.magickwand.org/download/php/magickwand-0.1.8.tar.bz2
dirk@ubuntop:ext$ tar -jxvf magickwand-0.1.8.tar.bz2
dirk@ubuntop:ext$ cd magickwand
dirk@ubuntop:magickwand$ phpize5
dirk@ubuntop:ext$ ./configure
dirk@ubuntop:ext$ make
dirk@ubuntop:ext$ sudo make install

5、在你的 php.ini 文件中设置:

extension=magickwand.so

重新启动你的 Web 服务器,终于完工。

在 FreeBSD 下却非常简单,直接通过 Ports 安装即可,位于 /usr/ports/graphics/php-magickwand 目录。

------------------------
谢谢 DIrk!

类别:Php | 添加到搜藏 | 浏览() | 评论 (1)
 
最近读者:
 
网友评论:
1
2007-09-19 09:37 | 回复
非常好,感谢提供,谢谢
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu