实际上我最终目的是编译得到支持 PHP5.4 的 php_xdebug.dll,而在此之前,成功编译 PHP5.4 是必须的。
编译环境以及相关软件包:
1.Microsoft Visual C++ 2008 Express Edition with SP1
2.Windows SDK 6.1
3.PHP SDK Binary Tools
4.Dependable libs
5.PHP5.4 Sources
6.Xdebug 2.2.0-dev
如果你需要的是 VC6 的编译环境,那么你需要安装 Visual C++ 6.0,而 SDK 则需要换成:
Windows Server 2003 PSDK
编译过程:
准备好咖啡、可乐,做好准备,可能要折腾数小时…
安装 VC++ 2008 以及 Windows SDK 6.1
建立如下目录:
代码如下:
D:/php-sdk
D:/php-sdk/php54dev
D:/php-sdk/pecl
解压 php-sdk-binary-tools-20110915.zip 中的所有文件至 D:/php-sdk
提取 deps-5.4-vc9-x86.7z 中的 deps 目录至 D:/php-sdk/php54dev
解压 php5.4 源码至 D:/php-sdk/php54dev,目录名任取,比如 php-5.4.0RC3
xdebug 的源码放到 D:/php-sdk/pecl/xdebug
最终的目录结构大概是这样子的:
代码如下:
D:/php-sdk>tree D:/php-sdk
Folder PATH listing for volume DISK_VOL2
Volume serial number is 0C74-AD73
D:/PHP-SDK
├───bin
├───php54dev
│ ├───deps
│ │ ├───bin
│ │ ├───include
│ │ ├───lib
│ │ └───sybase
│ ├───pecl
│ │ └───xdebug
│ └───php-5.4.0RC3
├───script
└───share
打开 Windows SDK CMD Shell,执行:setenv /x86 /xp /release,如果你是64位系统,那么这个命令是必须的,不要试图把参数改成 /x64,否则后续的 make 阶段,你会看到成千上万条 WARNING …
设定 PATH:set PATH=D:/php-sdk/bin;%PATH%
切换 SHELL 目录至 D:/php-sdk/php54dev/php-5.4.0RC3>,执行 buildconf 生成 configure 脚本:
代码如下:
D:/php-sdk/php54dev/php-5.4.0RC3>buildconf
Rebuilding configure.js
Now run 'configure --help'
D:/php-sdk/php54dev/php-5.4.0RC3>
执行 configure 生成 Make 脚本,可以查看 configure –help 以获取更多编译选项:
代码如下:
D:/php-sdk/php54dev/php-5.4.0RC3>configure --disable-snapshot-build --disable-debug-pack --disable-ipv6 --disable-zts --disable-isapi --disable-nsapi --without-t1lib --without-mssql --without-pdo-mssql --without-pi3web --without-enchant --enable-com-dotnet --with-mcrypt=static --disable-static-analyze --with-xdebug=shared
这里我使用了 –disable-snapshot-build 关掉了 snapshot 模式,因为这个命令会强制开启许多对我来说无用的选项,比如 aolserver,apache sapi 之类的,最后我加上了 –with-xdebug=shared,在使用这个选项之前最好确认 xdebug 源码的位置正确,如果没什么问题的话,buildconf 之后,在 configure –help 中你可以看到这个选项,shared 表示编译成动态链接库。
新闻热点
疑难解答