日期:2011-11-01  浏览次数:20463 次

1.下载php源码包 cygwin 准备工作
http://cn.php.net/get/php-5.2.6.tar.gz/from/a/mirror
http://www.cygwin.cn/setup.exe

2.
修改
php-5.2.6/ext/ext_skel_win32.php
文件里
$cygwin_path = ''E:/ggg/cygwin/bin''; //这里对应你的cygwin目录

3.
在 php-5.2.6/ext/目录下运行
php ext_skel_win32.php --extname=test
来创建名为test的扩展

4.
从你的PHP的二进制包内的/dev/下找到php5ts.lib文件,把他复制到你的工程包所在的目录下,复制2份,一份名叫php5ts.lib,另外一份名叫php5ts_debug.lib。
针对现在是放在 php-5.2.6/ext/test/ 目录下

5.
用vc6 打开 ext/test/test.dsp 文件
设置 . Project->settings->c/c++->Preprocessor definitions
把这里的ZEND_DEBUG=1 修改为 ZEND_DEBUG=0

6.
编译后在 php-5.2.6/Debug_TS 可以找到 php_test.dll 文件
在 php.ini 里添加
extension=php_test.dll
重起apache后
运行 ./php ext/test/test.php
可以看到
Functions available in the test extension:
confirm_test_compiled
Congratulations! You have successfully modified ext/test/config.m4. Module test
is now compiled into PHP.
成功!

*注
不依赖 apache 的php环境可以直接把
php.ini
php.exe
php5ts.dll
这三个文件放到一个文件夹 比如 php_ggg
然后把 ext/test/test.php 和编译好的 test.dll 放在 php_ggg 目录下
在 php_ggg 目录下运行 ./php test.php 即可