如何在windows上开发php模块

在Windows上开发PHP扩展模块

一、开发环境搭建

1.      Windows

Win7 64-bit旗舰版(Ultimate)

2.      LAMP环境

我使用的是WAMP 2.2D (32bit)。Windows上还有另外一款常用的LAMP环境XAMPP。不过因为XAMPP包含了我不需要的Perl,所以我选用了WAMP。

另外一方面,无论选用哪种LAMP环境,关键的是它打包的Apache和PHP版本(原因我们马上就会看到)。WAMP 2.2D (32-bit)打包的是Apache 2.2.21和PHP 5.3.10。

3.      PHP源码

WAMP中只包含编译好的PHP的EXE/DLL文件。而开发PHP扩展模块必须依赖PHP的源码。注意必须下载和LAMP环境中PHP版本完全一致的源码。www.php.net上给出的直接链接是最新版本(我写这篇文章的时候是5.4.3)。为了下载5.3.10版本,我们必须到PHP站点的release page (http://www.php.net/releases)上去找。

使用ISAPI的方式来运行PHP就用Thread Safe(线程安全)的版本;使用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe (NTS,非线程安全)的版本能够更好的提高效率。注意:WAMP 2.2D (32-bit)是TS版本的PHP。

4.      第三方库

像编译其它从Linux移植到Windows上的库一样,我们需要一些第三方库的源码。

-         bindlib (http://www.php.net/extra/bindlib_w32.zip)

处理绑定变量的数据结构(类似lambda表达式或者量化公式)的库

-         win32build (http://www.php.net/extra/win32build.zip)

在Windows上编译PHP的工具

         将这两个ZIP文件解压在同一个目录下。加上PHP源码,我的目录结构如下图:

         E:\php_win\php-5.3.10           以下记为”[PHP Source]”

                             \win32build\bin        在win32build.zip中

                             \win32build\include     在win32build.zip中

                             \win32build\lib         在win32build.zip中

                             \win32build\bindlib_w32 在bindlib_w32.zip中

5.      Cygwin (http://www.cygwin.com)

Cygwin是在调用PHP扩展模块生成工具ext_skel_win32.php时使用。注意:安装时提示选取镜像站点下载模块时,选择.cn结尾的站点速度最快。

安装完成Cygwin之后(安装路径记为[Cygwin Path]),需要将[PHP Source]\ext\ext_skel_win32.php文件中的$cygwin_path设置为[Cygwin]\bin目录路径。

6.      Visual Studio 2008

有些文章上说要使用VS6.0,其实是不准确的。应该是使用和LAMP环境中PHP的编译源相同的VS版本。我使用的PHP 5.3.10是使用VC++ 9.0编译的,所以我必须使用VS2008来编译。

7.      将如下路径添加入Windows系统的PATH环境变量

-         php.exe

-         E:\php_win\win32build\bin

为了调用bison.exe(被[PHP Source]\configure.bat调用)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值