Python's Archiver

為方便港臺同胞閱覽,Python中國特別推出簡繁體內容轉換功能

xieaotian 发表于 2008-10-19 22:47

win下php扩展vc6编译

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

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

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.