调试PHP源码
缘由
有时候,我们想看看一个变量底层对应底层的数据结构或者PHP脚本是如何执行的,gdb就是这样一个好工具,之前有篇文章写过如何简单使用gdb。
本文环境:
- PHP版本:PHP 7.1.16 (cli) (built: Apr 8 2020 11:56:59) ( ZTS )
- OS:Ubuntu 18.04.4 LTS
- gdb: GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
编译
你可以从PHP官网下载PHP源码的压缩包,者是从git.php.net(或者是github的镜像)的git库clone最新的代码库,然后切换到对应的PHP版本的分支,本文使用的是PHP7.1,你可以使用下面的命令完成这些工作: