win下php扩展vc6编译

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

你可能感兴趣的:(apache,PHP,Module,扩展,Zend,extension)