第1章 寻找入口

时间:2023-02-04 00:05:58

  你既然在读此文章了,那么说你对PHP的执行很有兴趣,应该有自己探索过PHP的生命周期什么的,这些东西网上一搜索一大把,因为于关于PHP的生命周期,我就不详细分析了,自己google去。大概就是读取PHP的脚本文件,初使化,然后把代码翻译成opcode,然后zend engine执行opcode,最后作一些清理什么的,你懂的。

  这些东西网上都很容易地找到,下面我要告诉的是你找不到的(至少我曾经找过没找到的):

  网上关于生命周期的介绍,没有用例子来分析,下面,带大家一起来看一看。

  测试文件:

  第1章 寻找入口

  文件名 test.php

       然后,执行gdb php命令(这里要求你编译php的时候加了--enable-debug参数,并且建议只编译一个只带命令行的最少扩展的php供学习,好像有一个叫做--disable-all的参数,具体的自己google之,我记不太清了)。

 

 然后呢,执行break main命令,设置一个断点。

 再然后呢,执行run test.php 命令。解释:run 后面附件参数test.php 代表将要解释执行这个php脚本。

 再然后list一下,就能看到现在程序执行到什么位置了。

 第1章 寻找入口

看到没,main 函数就在这里。

好了,下面可以用S命令一步一步跟踪执行了