php-5.2.2 windows 编译
使用的是visual studio 2005 没有使用 cgwin
编译后的目标编译到e:\php目录下
你需要先下载prebuild,
解压缩到E:\win32build,
将E:\win32build\bin目录下的bison.exe flex.exe复制到系统的c:\windows下面
下载php 5.2.2 的 source
解压
进入vs2005命令提示行 cd 到E:\pfs\php-5.2.2.tar\php-5.2.2
E:\pfs\php-5.2.2.tar\php-5.2.2>buildconf
Rebuilding configure.js
Now run 'cscript /nologo configure.js --help'
提示你运行cscript /nologo configure.js --help 查看帮助
这里已经有一个build 成功的命令复制运行他
cscript /nologo configure.js "--with-php-build=E:\win32build" "--enable-object-out-dir=e:\php" "--without-libxml" "--disable-xmlwriter" "--without-xml" "--without-simplexml" "--without-dom" "--without-libxml" "--disable-zlib" "--disable-tokenizer" "--disable-calendar" "--disable-com-dotnet" "--disable-ctype"
输入
:\win32build" "--enable-object-out-dir=e:\php" "--without-libxml" "--disable-xml
writer" "--without-xml" "--without-simplexml" "--without-dom" "--without-libxml"
"--disable-zlib" "--disable-tokenizer" "--disable-calendar" "--disable-com-dotn
et" "--disable-ctype"
提示
Type 'nmake' to build PHP
输入
SAPI sapi\cli build complete
编译完毕:
在E:\php\Release_TS能看到
E:\php>cd E:\php\Release_TS
PHP 5.2.2 (cli) (built: May 22 2007 11:23:15)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
看到built: May 22 2007 11:23:15 ,是的就是刚才.
使用是visual studio 2005编译 ,分发到别的机器上面,需要msvcr80.dll等
C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT有
php5ts.dll 4589k(5.2.2发行版)
php5ts.dll 2732k(编译完成后的)
这个编译出来的很多扩展都--without.
编译花了3分多钟,感觉用了20几分钟似的,cpu一直100%
还有就是几个lib编译特别花时间,就象停止了一样.
configure 的时候,以为能象unix 下面的用 --disable-all呢,
结果发现生成Makefile的有问题,Makefile改了半天也没有弄好,
还是一个一个的disable,without.
直到到上面那个cscript /nologo configure.js
花了336 MB产生obj,和lib文件
没有firefox的g级别厉害.
使用vs 6和vs 2005的方法一样.
测试通过winxp2,vs6,vs2005,php-5.2.2
扩展php,extension 例子几天后上出来.
Checking for cl.exe ...
Checking for cl.exe ...
Detected MS compiler version 14
Detected 32-bit compiler
Checking for link.exe ... C:\Program Files\Microsoft Visual Studio 8\VC\BIN
Checking for nmake.exe ...
Checking for lib.exe ...
Checking for bison.exe ...
缺少bison解决办法
将E:\win32build\bin目录下的bison.exe flex.exe复制到系统的c:\windows下面
t Interpreter\"" /d FILE_NAME="\"php5ts.dll\"" /d PRODUCT_NAME="\"PHP Script In
terpreter\"" /Ie:\php\Release_TS /d MC_INCLUDE="\"e:\php\Release_TS\wsyslog.rc\
"" win32\build\template.rc
正在创建库 e:\php\Release_TS\php5ts.lib 和对象 e:\php\Release_TS\php5ts.exp
rc /fo e:\php\Release_TS\php-cgi.exe.res /D WANT_LOGO /d FILE_DESCRIPTI
ON="\"CGI / FastCGI\"" /d FILE_NAME="\"php-cgi.exe\"" /d PRODUCT_NAME="\"PHP php
-cgi.exe\"" /d THANKS_GUYS="\"Thanks to Rasmus Lerdorf, Stig Bakken, Shane Carav
eo, Dmitry Stogov\"" win32\build\template.rc
SAPI sapi\cgi build complete
getopt.c
php_cli.c
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2tcpip.h(593
) : warning C4142: benign redefinition of type
php_cli_readline.c
rc /fo e:\php\Release_TS\php.exe.res /D WANT_LOGO /d FILE_DESCRIPTION="
\"CLI\"" /d FILE_NAME="\"php.exe\"" /d PRODUCT_NAME="\"PHP php.exe\"" /d THANKS_
GUYS="\"Thanks to Edin Kadribasic, Marcus Boerger, Johannes Schlueter\"" win32\b
uild\template.rc
SAPI sapi\cli build complete