PHP底层实现源码阅读笔记(2)

在Windows下编译PHP内核代码



官方文档见:https://wiki.php.net/internals/windows/stepbystepbuild



我的环境:32位Windows7

1、安装 Visual Studio Community 2015 中C++的这部分。 

2、下载: http://windows.php.net/downloads/php-sdk/php-sdk-binary-tools-20110915.zip

3、下载: http://windows.php.net/downloads/php-sdk/deps-7.0-vc14-x86.7z   

     如果是64位的Windows,则下载:http://windows.php.net/downloads/php-sdk/deps-7.0-vc14-x64.7z

4、解压第2步中下载的 php-sdk-binary-tools , 我放在了: E;\LearnPHP7 目录下。

PHP底层实现源码阅读笔记(2)

5、打开 VS2015的《VS2015 开发人员命令行》

PHP底层实现源码阅读笔记(2)

6、在命令行中切换到 E:\LearnPHP7 ,并执行 bin\phpsdk_buildtree.bat dev

7、该bat文件会在E:\LearnPHP7目录下创建 dev 目录, dev目录下又会创建 vc6、vc7、vc8 目录。

8、把vc6、vc7目录删除了,把vc8改名为vc14 。 (因为现有的编译脚本还没有完全为PHP7准备好,需要手动调整一下)

9、vc14 目录下的 x64 目录也可以删除了 (因为我是编译32位)

10、在 vc14\x86 下建立一个 src 文件夹, 目前的目录结构如下图:

PHP底层实现源码阅读笔记(2)

11、解压 第3步中下载的文件 deps-7.0-vc14-x86.7z 到 E:\LearnPHP7\dev\vc14\x86\deps

PHP底层实现源码阅读笔记(2)

下面主角登场了!

12、下载PHP7内核源代码(http://windows.php.net/downloads/releases/php-7.0.0-src.zip ),

解压到:E:\LearnPHP7\dev\vc14\x86\src

13、回到 VS2015 开发人员命令行, 当前位置是: E:\LearnPHP7 , 执行 bin\phpsdk_setvars.bat

PHP底层实现源码阅读笔记(2)

14、命令行中执行 cd E:\LearnPHP7\dev\vc14\x86\src

15、命令行中执行 buildconf

16、命令行中执行 configure --disable-all --enable-cli

17、命令行中执行 nmake

PHP底层实现源码阅读笔记(2)


等待一会儿后,在 E:\LearnPHP7\dev\vc14\x86\src\Release_TS 目录下就有编译好的PHP 7 了。

上面一步一步地记录了我编译的过程,看起来很繁琐,其实是四个步骤:

1、下载各种文件。

2、执行脚本建立对应的目录,并把下载的文件解压后放在正确的目录下。

3、运行编译脚本生成Makefile。

4、用VS2015 的 nmake 来编译代码。


说明:

1、上面第16步中的 configure 后面可以带各种参数,从而编译出不同的东东出来。 具体的细节我还在学习中。

2、configure --disable-all --enable-cli --enable-debug  这样配置可以编译出debug版本。 因为之后阅读PHP7的内核代码,免不了要用VS来跟踪代码,所以编译出一个debug版本对阅读代码的意义更大。

最后贴个图,纪念PHP7在2015-12-03发布!

PHP底层实现源码阅读笔记(2)

这是我在PHP7发布的当天编译的一个版本。 

QQ群:108111233

你可能感兴趣的:(PHP底层实现源码阅读笔记(2))