查看文章 |
转自:http://www.dirk.sh/tag/magickwand ------------------------------------------------------------------------------------ JPEG2000 引起 MagickWand for PHP 在 FreeBSD 下段错误@由 DIrk 发表于 2007-02-19 MondayMagickWand for PHP 是 PHP 下针对 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 SaturdayMagickWand 使用起来还是非常方便和强大的,我的开发环境是 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; 如果你也在使用 ImageMagick 进行图片处理,那么最好使用 API 方式,直接使用 ImageMagick 的命令行工具是非常低效的。下载我的 Magickwand for PHP DLL 试试,相当不错的体验;另外,如果你使用静态版本,根本不需要安装 ImageMagick。 ----------------------------------------------------------------------------------- 在 Ubuntu 下安装 MagickWand for PHP@由 DIrk 发表于 2006-12-18 MondayImageMagick 是一套非常强大的图片处理软件,包含了很多非常有用的功能命令。在 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 软件包:
2、安装以下编译需要的软件包:
3、找一个目录,下载 PHP 的源代码(我使用的是 PHP5):
这时候,会将 PHP5 的源代码解压缩到当前目录下,进入该目录下的 ext/ 子目录:
4、下载并解压缩 MagickWand 代码包:
5、在你的 php.ini 文件中设置:
重新启动你的 Web 服务器,终于完工。 在 FreeBSD 下却非常简单,直接通过 Ports 安装即可,位于 /usr/ports/graphics/php-magickwand 目录。 ------------------------谢谢 DIrk! |