win下php扩展vc6编译

来源:互联网 发布:怎么看淘宝订单排名 编辑:程序博客网 时间:2024/04/29 02:19

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 即可