标题: 在Windows下源码编译PHP
作者: Demon
链接: https://demon.tw/software/compile-php-on-windows.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。
最近在学习编写PHP拓展,懒得装Linux,就研究了一下在Windows下编译PHP的方法,总算搭建好了在Windows下开发PHP拓展的环境。
1、在C盘新建一个文件夹,C:\PHPDEV
2、从官网下载最新版(我这里用的是5.2.14)的PHP源码,将下tar.gz或tar.bz2压缩包保存到C:\PHPDEV,解压到当前文件夹
3、下载php win32 build extras并保存到C:\PHPDEV,解压到当前文件夹
4、获取编译好的bison.exe和flex.exe,保存到桌面或者其他C:\PHPDEV以外的地方。分别打开压缩包并进入bin文件夹,将bison.exe和flex.exe复制到C:\Windows文件夹
5、假定你已经安装了Visual Studio 2008(我个人不推荐用Visual Studio 2008,推荐使用Platform SDK Febrary 2003,官方的编译版本就是用这个PSDK编译的,但是这里用Visual Studio 2008做说明),开始菜单->Microsoft Visual Studio 2008->Visual Studio Tools->Visual Studio 2008 Command Prompt,打开Visual Studio 2008命令提示行
6、用cd命令将目录切换到C:\PHPDEV\php-5.2.14
7、输入buildconf.bat,回车。这个批处理的作用是搜索所有的.w32文件并为你创建configure.js
8、输入下面的命令
cscript /nologo configure.js –without-xml –without-wddx –without-simplexml –without-dom –without-libxml –disable-zlib — without-sqlite –disable-odbc –disable-cgi –enable-cli –enable-debug –without-iconv –disable-ipv6
为什么要disable和without那么多功能呢?因为这些功能需要的库文件并没有包含在PHP的源码包中(不然会很大),这些额外的库文件需要你自己去下载(要找全不是那么容易的)。如果你不禁用这些功能,会出现编译错误。
9、输入nmake,回车
10、第9步中可能会出现文件的编码错误,找到出现错误的文件,用EditPlus选择Western European (Windows)编码打开后另存为utf-8编码,重新nmake即可
11、编译好以后切换到C:\PHPDEV\php-5.2.6\Debug_TS,测试一下
php -r "echo ‘hello,world’;"
参考链接:
赞赏微信赞赏支付宝赞赏
随机文章:
你好!
有没有办法生成PHP的vs项目文件?用nmake虽然能编译,但是要阅读代码还是需要一个IDE的。。。
thx!
据我所知没有,要阅读代码的话可以用Source Insight
用这个方案来编译5.2.17的时候,编译到一半cl.exe提示出错。也不知道是哪里出了问题,总之暂时用博主的方案编译旧版本的5.2.14
另外我编译的是Release版的,去掉了–enable-debug选项,目标文件生成在
x:\php-dev\php-5.2.14\Release_TS
第9步执行完以后,如果需要一份归档的zip包,可以再执行
nmake snapshot
将生成在Release_TS目录下(前提是有zip.exe在%PATH%的目录中)
环境vc6+Platform SDK Febrary 2003