Windows下使用VS2010编译PHP5.4

需要说明的是,官方教程所用的是VS2008 Express版,我使用的是vs2010 旗舰版(VS2012也是支持的),已经包含了windows sdk,所以也就不需要下载windows SDK了。

其次,不要试图尝试用MingW或CYGWIN等来编译代码,这都是自找麻烦。 编译:

1、首先下载PHP-SDK,这些是编译PHP过程中需要的一些辅助工具,如词法、语法解析等。下载最新的php-sdk-binary-tools-20110915.zip,解压到c:php-sdk。注意,解压后,这个目录下应该有bin和script、share三个子目录。

2、到c:php-sdk目录下,按住SHIFT后右键,选择“在此处打开命令窗口”,打开CMD,运行vcvarsall.bat来设置好编译环境变量。

c:php-sdk>E:devvs2010VCvcvarsall.bat (根据你自己的安装位置而定)
binphpsdk_setvars.bat
binphpsdk_buildtree.bat php54dev

这样,在c:php-sdk目录下又多了一个php54dev目录

3、接着继续在php-sdk目录下载deps-5.4-vc9-x86.7z,并解压到 c:php-sdkphp54devvc9x86目录下。

4、下载PHP5.4 最新源代码。到http://snaps.php.net/ 下载 php-5.4-dev (tar.xz) ,解压目录下所有文件到c:php-sdkphp54devvc9x86depsphp-5.4目录(此处php-5.4为我们新建的目录)。

5、可以开始编译了。进入PHP源码目录,c:php-sdkphp54devvc9x86depsphp-5.4,运行buildconf,之后我们就可以用configure --help 命令查看构建选项了。可以先试着编译php了。最开始,一般编译尽可能少的模块,先让核心能正常编译出来。

configure --disable-all --enable-cli
nmake

稍等一会,php5.4最核心部分及一个命令行工具就编译出来了(这中间的警告信息可以不用顾及)。

cd Release_TS
php -m

就可以看到

[PHP Modules]
Core
date
ereg
pcre
Reflection
SPL
standard
[Zend Modules]

然后我们也可以试着加入更多的模块,比如:

configure --disable-all --enable-cli --with-sqlite3 --with-mcrypt=static --with-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-gd --with-mhash --with-curl --with-gettext --with-iconv --enable-mbstring --enable-session

然后运行nmake重新编译。遇到出错信息google即可(一些扩展的编译需要依赖第三方库,可以到https://wiki.php.net/internals/windows/libs下载)。

如果修改了源码等需要再次编译,可运行make clean,然后重新buildconf,configure.

编译PECL扩展的步骤在官方网页上也列出来了,需要时参考即可

php5.4_make2.jpg
, 相关的文章:

暂无评论

写评论