在windows平台上构建本身的PHP
添加时间:2013-6-17 点击量:
这是一篇翻译的文章,原文拜见:https://wiki.php.net/internals/windows/stepbystepbuild
趁便提一句,wiki.php.net有很多出色的内容,想深切懂得php的同窗切切不要错过:)
筹办工作
在windows平台上编译php,须要三样筹办工作:
1,合适的编译景象,包含安装一个编译器、正确的SDK以及对应的binary tools
2,编译PHP须要用到的第三库、头文件
3,PHP源代码
构建景象
这是在windows平台上编译php最艰苦的项目组,因为建树如许的编译景象须要多量的磁盘空间,可能会稀有G
需求:
- Microsoft Visual C++,官方的PHP版本支撑VC++6.0和VC++9.0(即VC++2008),Express版本的也行。MinGW和其他的编译器是不被支撑的。
- 正确的windows SDK 或者Platform SDK,SDK须要与VC版本对应,详见https://wiki.php.net/internals/windows/windowssdk
- 编译时用到的binary tools,详见http://windows.php.net/downloads/php-sdk/
注:
新的php5.5可以用VC++9或者VC++11编译,不过5.5尚未正式公布。
若是应用的是VC6,则须要安装Windows Server Feb.2003 SDK,若是应用的VC9则需安装SDK6.1
构建步调
1,安装vs2008
2,安装windows sdk 6.1
3,获得php 5.3源码,可以从此处获取snapshot (先不要解压)
4,创建文件夹c:\php-sdk
5,解压binary-tools.zip 至c:\php-sdk文件夹中。binary-tools.zip可以从此处获取(http://windows.php.net/downloads/php-sdk/)。解压后C:\php-sdk中应当包含bin,script,share等子目次。
6,打开windows sdk 6.1 shell,直接下述指令:
PHP 5.2, 5.3 and 5.4:
setenv /x86 /xp /release
PHP 5.5+:
setenv /x86 /2008 /release
7,
cd c:\php-sdk\
8,
bin\phpsdk_setvars.bat
9,
bin\phpsdk_buildtree.bat php53dev
10,如今解压第3步中的snapshot至C:\php-sdk\php53dev\vc9\x86文件夹中。解压完成之后,目次路径形如C:\php-sdk\php53dev\vc9\x86\php5.3-xyz。
11,在C:\php-sdk\php53dev\vc9\x86中,有一个deps文件夹。编译所依附的一些libraries,并且解压至此中。这些libraries可以从http://wiki.php.net/internals/windows/libs获得。确保解压完成之后,deps下包含/include和/lib目次。(注:笔者直接从http://windows.php.net/downloads/php-sdk/了deps-5.3-vc9-x86.7z可以顺利编译经由过程)
12,持续在windows-sdk-shell中运行
cd C:\php-sdk\php53dev\vc9\x86\php5.3-xyz
13,
buildconf
14,查看编译选项
configure --help
15,按照本身的须要输入构建指令:
configure --disable-all --enable-cli 编译最简单的PHP内核并且只支撑cli运行体式格式
(注: 一些扩大须要lib,头文件甚至其他法度,详见libs ,本身所需的版本并且解压至deps文件夹c:\php-sdk\php53\vc9\x86\deps)
16,
nmake
17,若是你须要紧缩编译好的php文件,持续履行:
nmake snap
18,编译完的PHP位于C:\php-sdk\php53dev\vc9\x86\php5.3-SNAPSHOTTIME\Release_TS目次。
批改并从头编译
1,清除前次的编译成果
nmake clean
2,若是你须要从头config
buildconf --force
3,输入新的configure设备
configure --disable-all --enable-cli --enable-¥remains
4,编译
nmake
若是只编译最精简的PHP(仅enable-cli),编译成功之后,可以调查一下编译了哪些EXT,SAPI:

除了standard(标准扩大),这个php版本只含有date,ereg,pcre,reflection,SPL几个扩大,它们的源码都可以在php-src/ext中找到。
真正的心灵世界会告诉你根本看不见的东西,这东西需要你付出思想和灵魂的劳动去获取,然后它会照亮你的生命,永远照亮你的生命。——王安忆《小说家的十三堂课》
这是一篇翻译的文章,原文拜见:https://wiki.php.net/internals/windows/stepbystepbuild
趁便提一句,wiki.php.net有很多出色的内容,想深切懂得php的同窗切切不要错过:)
筹办工作
在windows平台上编译php,须要三样筹办工作:
1,合适的编译景象,包含安装一个编译器、正确的SDK以及对应的binary tools
2,编译PHP须要用到的第三库、头文件
3,PHP源代码
构建景象
这是在windows平台上编译php最艰苦的项目组,因为建树如许的编译景象须要多量的磁盘空间,可能会稀有G
需求:
- Microsoft Visual C++,官方的PHP版本支撑VC++6.0和VC++9.0(即VC++2008),Express版本的也行。MinGW和其他的编译器是不被支撑的。
- 正确的windows SDK 或者Platform SDK,SDK须要与VC版本对应,详见https://wiki.php.net/internals/windows/windowssdk
- 编译时用到的binary tools,详见http://windows.php.net/downloads/php-sdk/
注:
新的php5.5可以用VC++9或者VC++11编译,不过5.5尚未正式公布。
若是应用的是VC6,则须要安装Windows Server Feb.2003 SDK,若是应用的VC9则需安装SDK6.1
构建步调
1,安装vs2008
2,安装windows sdk 6.1
3,获得php 5.3源码,可以从此处获取snapshot (先不要解压)
4,创建文件夹c:\php-sdk
5,解压binary-tools.zip 至c:\php-sdk文件夹中。binary-tools.zip可以从此处获取(http://windows.php.net/downloads/php-sdk/)。解压后C:\php-sdk中应当包含bin,script,share等子目次。
6,打开windows sdk 6.1 shell,直接下述指令:
PHP 5.2, 5.3 and 5.4:
setenv /x86 /xp /release
PHP 5.5+:
setenv /x86 /2008 /release
7,
cd c:\php-sdk\
8,
bin\phpsdk_setvars.bat
9,
bin\phpsdk_buildtree.bat php53dev
10,如今解压第3步中的snapshot至C:\php-sdk\php53dev\vc9\x86文件夹中。解压完成之后,目次路径形如C:\php-sdk\php53dev\vc9\x86\php5.3-xyz。
11,在C:\php-sdk\php53dev\vc9\x86中,有一个deps文件夹。编译所依附的一些libraries,并且解压至此中。这些libraries可以从http://wiki.php.net/internals/windows/libs获得。确保解压完成之后,deps下包含/include和/lib目次。(注:笔者直接从http://windows.php.net/downloads/php-sdk/了deps-5.3-vc9-x86.7z可以顺利编译经由过程)
12,持续在windows-sdk-shell中运行
cd C:\php-sdk\php53dev\vc9\x86\php5.3-xyz
13,
buildconf
14,查看编译选项
configure --help
15,按照本身的须要输入构建指令:
configure --disable-all --enable-cli 编译最简单的PHP内核并且只支撑cli运行体式格式
(注: 一些扩大须要lib,头文件甚至其他法度,详见libs ,本身所需的版本并且解压至deps文件夹c:\php-sdk\php53\vc9\x86\deps)
16,
nmake
17,若是你须要紧缩编译好的php文件,持续履行:
nmake snap
18,编译完的PHP位于C:\php-sdk\php53dev\vc9\x86\php5.3-SNAPSHOTTIME\Release_TS目次。
批改并从头编译
1,清除前次的编译成果
nmake clean
2,若是你须要从头config
buildconf --force
3,输入新的configure设备
configure --disable-all --enable-cli --enable-¥remains
4,编译
nmake
若是只编译最精简的PHP(仅enable-cli),编译成功之后,可以调查一下编译了哪些EXT,SAPI:
除了standard(标准扩大),这个php版本只含有date,ereg,pcre,reflection,SPL几个扩大,它们的源码都可以在php-src/ext中找到。
真正的心灵世界会告诉你根本看不见的东西,这东西需要你付出思想和灵魂的劳动去获取,然后它会照亮你的生命,永远照亮你的生命。——王安忆《小说家的十三堂课》