Chinaunix首页 | 论坛 | 博客
  • 博客访问: 519941
  • 博文数量: 166
  • 博客积分: 4038
  • 博客等级: 上校
  • 技术积分: 1115
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-14 23:29
文章分类

全部博文(166)

文章存档

2010年(12)

2009年(126)

2008年(28)

分类: LINUX

2008-12-03 23:28:15

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>
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"


输入

E:\pfs\php-5.2.2.tar\php-5.2.2>cscript /nologo configure.js  "--with-php-build=E
:\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
输入

E:\pfs\php-5.2.2.tar\php-5.2.2>nmake

SAPI sapi\cli build complete
编译完毕:
在E:\php\Release_TS能看到

E:\php>cd E:\php\Release_TS

E:\php\Release_TS>php -v
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 例子几天后上出来.

 

Saving configure options to config.nice.bat
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 ... 
ERROR: bison is required

缺少bison解决办法
将E:\win32build\bin目录下的bison.exe flex.exe复制到系统的c:\windows下面

       

rc /fo e:\php\Release_TS\php5ts.dll.res /d FILE_DESCRIPTION="\"PHP Scrip
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
 
另附上官方win32编译链接

阅读(1808) | 评论(3) | 转发(0) |
0

上一篇:常用shell命令

下一篇:变量的变量,PHP和你

给主人留下些什么吧!~~

chinaunix网友2008-12-08 12:48:00

tytytt

kinganeng2008-12-07 23:02:56

你指的是所有的?

chinaunix网友2008-12-04 14:20:53

上面的链接根本就不能用