windows平台下面的php扩展开发步骤

1. 下载必要的软件.
1). PHP5.3 for Win32二进制和源代码各一份
2). VC6.0或以上IDE
3). 两个必要的包
http://www.php.net/extra/bindlib_w32.zip
http://www.php.net/extra/win32build.zip

2. 解压缩软件到适当目录
1). 解压缩php二进制代码到e:\php5.3.6目录(其实我们只感兴趣dev子目录下的php5ts.lib文件)
2). 解压缩php源代码到e:\php_src目录
3). 解压缩amfext 0.9.2到e:\php_src\ext\amfext目录下
4). 解压缩bindlib_w32.zip和win32build.zip到同样目录(如:e:\win32build\bin )
5). 添加环境变量 path  e:\win32build\bin

3.复制一份 E:\php_src\ext\skeleton为myext 
1).并把所有的skeleton文件名全部替换成myext
2).把myext文件夹里的所有文件中的extname替换成myext
3).把myext文件夹里的所有文件中的EXTNAME替换成MYEXT
4).主要功能的实现主要是php_myext.h和myext.c这两个文件
.h主要是声明
.c主要是实现声明函数
具体的编写可以参考
http://blog.csdn.net/php_boy/article/details/6456603
http://blog.csdn.net/php_boy/article/details/6456761
http://blog.csdn.net/php_boy/article/details/6460924
5).复制e:\php5.3.6\dev下面的php5ts.lib到myext下面

4.进入目录,打开.dsp,设置VC6工程
1).设置菜单“组建”->“移除工程配置”,选中“Win 32 Release_TS”,
2).设置菜单“工程”,选中“Win 32 Release_TS”
3).打开Tab“连接”,添加“对象/库 模块” php5ts.lib
4).[可选]打开Tab“C/C++”,增加“预处理器定义”“,COMPILE_DL_”(注意全大写,默认加入的),取消预定义“LIBZEND_EXPORTS”(否则不可引入zend函数)。

5.编译工程
1).点击菜单“组建”->“组建”来生成.dll文件
如果php_stream_transport.h 报错,就添加上这句话  typedef int socklen_t; 
2).重新编译项目

6.加入php环境,测试效果
1).在php.ini中加入extension=php_myext.dll
2).重启apache
3).在浏览器中查看phpinfo();
可以看到myext这一项的话,ok,大功告成。。。

 

你可能感兴趣的:(windows平台下面的php扩展开发步骤)