欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

win下php扩展vc6编译

程序员文章站 2024-02-19 14:39:28
...
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 即可