所需要的工具或者文件:
1、php源码,去官网下载即可。http://windows.php.net/download
2、php-sdk:php 开发工具包
3、deps类库
4、Cygwin:windows下模拟liux的编译器
网络资源参考
1、http://blog.csdn.net/a600423444/article/details/8108993
2、http://koda.iteye.com/blog/315779
环境搭建
将php-sdk解压,解压后应该有bin和script这两个子目录。
1、设置编译环境变量
运行vs2008的vcvarsall.bat文件,该文件位于:VS2008安装路径\VC\vcvarsall.bat
2、设置开发环境变量
进入php-sdk所在目录,例如cd c:\php-sdk
运行bin目录下的两个文件:phpsdk_setvars.bat、phpsdk_buildtree.bat
格式:
bin\phpsdk_setvars.bat
bin\phpsdk_buildtree.bat php54dev
其中的php54dev为扩展项目名,可以任意修改。运行后php-sdk目录下会多个一个php54dev目录。
3、安装开发类库
将deps加压到:php-sdk\php54dev\vc9\x86\目录下,原先该目录下有一个deps目录,将其覆盖即可。
4、引入php源码
将下载的php源码也解压到php-sdk\php54dev\vc9\x86\目录下
5、编译php源程序
cmd进入php源码目录,运行buildconf
6、创建扩展程序
安装cygwin,进入php源码包\ext目录下,修改ext_skel_win32.php :
$cygwin_path = 'c:\cygwin\bin';
修改为你的cygwin目录
$cygwin_path = 'd:\cygwin\bin';
命令行方式进入ext目录然后运行:
php ext_skel_win32.php --extname=myhello
(当然,为了保证上面的命令行能正常运行,首先你得确保你的php目录在系统的环境变量里)
7、构建dll文件
echo confirm_myhello_compiled("test");