How to Build PHP on Windows
<p>Author: wofeiwo<br />Date: Aug 6th 2006 </p>
<p>学习PHP,从编译开始:)</p>
<p>类Unix系统上的编译方式各位基本都很熟悉,网上也有大把的资料可以查询.但是却很少见到PHP在windows平台上的编译方法.因此也导致了本文的诞生.你可以将本文当作对PHP手册上对windows上编译PHP一章的扩充版本.</p>
<p>首先,借用PHP手册上的一段话:<br /><br /></p>
<hr />
开始之前,很值得回答一下这个问题:为什么在 Windows 下编译这么难?两个原因: 不要奇怪这种传统不会时出现。 下面几乎所有的说明都是“看过就忘”的类型。所以坐稳当并且尽可能忠实地按照说明来做。 首先配置VC++,在菜单中选择 Tools => Options。在对话框中,选择 directories 标签。依次将下拉框改为 Executables,Includes 和 Library files。添加下面的路径,使其看 上去应该是: Include files: c:\PHP\win32build\include Library files: c:\PHP\win32build\lib 然后你可以选择 File => Open Workspace 菜单并选择 c:\PHP\PHP-x.x.x\win32\PHPXts.dsw。接着选择 Build => Set Active Configuration 菜单并选择想要的配置,要么是 PHPXts - Win32 Debug_TS 要么是 PHPXts - Win32 Release_TS。最后选择 Build => Rebuild All。 命令行用户,请参考上面编译 resolv.lib的步骤. 到这一步,应该得到一个可用的 PHP.exe 在 c:\PHP\PHP-x.x.x.\Debug_TS 或 Release_TS 目录下。 然后你可以选择不同的活动配置,来完成CLI,isapi等版本的PHP编译. 注意:使用此方式你必须安装5.6版本以上的WScript.Shell对象.(http://www.microsoft.com/downloads/details.aspx?FamilyID=c717d943-7e4b-4622-86eb-95a22b832caa&DisplayLang=en) 首先打开windows命令行模式,进入c:\PHP\PHP-x.x.x目录,执行buildconf.bat 然后使用'cscript /nologo configure.js --help'查看configure的各种选项,并按照你的需要配置并生成makefile文件 提示:如果你不熟悉configure的用法,推荐使用cscript /nologo configure.js --enable-snapshot-build就可以了 最后执行按照提示nmake. 到这里,你可以在c:\PHP\PHP-x.x.x.\Release, Release_TS, Debug 或 Debug_TS目录下找到编译好的PHP了. 当然你也可以选择编译单个文件 如果你想安装把你编译的PHP安装在系统上.可以使用: nmake将把PHP文件复制到默认的安装目录中C:\PHP5.(可以在编译前通过 configure --enable-prefix=dir 来修改) 参考文档: http://kromann.info/article.php?Id=11062862408280000 Building PHP5 on Win32
Windows 下还没有愿意免费共享代码的开发人员群体。直接结果就是没有足够的投资去建立支持这种开发方式的体系。大体上,尽量得到的可用资源都是从 Unix 下的工具来的。
环境需求:
首先,为了在windows上安编译,我们需要有 Microsoft 开发环境.推荐使用Mirosoft Visual C++ 6.0,当然VC++.net也同样可以.
注意:如果有其他库文件及头文件,可以将其中的include,lib,bin文件夹复制到c:\PHP\win32build中
旧的编译模式 -- 使用VC++进行编译:
Executable files: c:\PHP\win32build\bin
新的编译模式 -- 使用nmake: (PHP>=5)
C:\PHP\PHP-x.x.x>buildconf.bat
Rebuilding configure.js
Now run 'cscript /nologo configure.js --help'
http://www.PHP.net/manual/en/install.windows.building.php
http://kromann.info/show.php?Id=2 configure help