原文见:
http://hi.baidu.com/xchinux/blog/item/688cd62aa2cbb089023bf6d7.html1、
下载PHP源代码,解压到某个
目录,假设为D:/php-5.3.4
2、到mingw.org网站下载安装msys-1.0以及下载bison,假设最后
安装到了C:\msys\1.0目录下,所以其bin目录为c:\msys\1.0\bin
将C:\msys\1.0\bin加入到PATH环境变量中去,因为一会儿做编译PHP扩展准备工作时要用到msys及bison
3、假设
Zend ServerCE的安装目录为D:/Program Files/Zend
Zend Server CE要求为PHP 5.3.x版本的,为VC2008编译的版本,将D:/Program Files/Zend/ZendServer/bin目录加入到PATH环境变量中去,因为一会儿生成
扩展框架时要用到该目录下的php.exe程序
4、进入D:/php-5.3.4目录,打开VC2008控制台,运行下列四条指令:
D:
cd D:/php-5.3.4
buildconf
cscript /nologo configure.js
经过上面四条指令,生成了main/config.w32.h文件,这是
编译扩展所需要的
5、打开D:/php-5.3.4/ext/ext_skel_win32.php文件,将里面的$cygwin_path变量的值修改如下:
$cygwin_path = 'c:\msys\1.0\bin';
保存后,在控制台中
执行如下两条命令:
cd ext
php ext_skel_win32.php --extname=myext
这样就生成了myext扩展的框架代码
6、到 D:/php-5.3.4/ext/myext目录下,用VC2008打开那个.dsp文件开始进行扩展编码
将库搜索路径D:/Program Files/Zend/ZendServer/bin目录添加进去,同时在链接库中加上php5.lib(注意,不是php5ts.lib)
7、编译通过后,修改工程属性,在宏定义中将ZTS=1去掉,增加个NTS=1
重新编译,会在Release_TS目录下生成php_myext.dll文件,
将其拷贝到D:/Program Files/Zend/ZendServer/lib/phpext目录下,然后修改D:/Program Files/Zend/ZendServer/etc/php.ini文件,加上
extension=php_myext.dll
重启zendserver中的php即可。
[ 此帖被XChinux在2011-01-11 10:19重新编辑 ]