1.sapi
    sapi目录是对输入输出层的抽象,是PHP对外提供服务的规范。
    PHP支持多场景交互,为不同的场景模式编写独立的程序。
    多个模式抽象出了相同的模板(源码实现为结构体sapi_module_struct),其定义了模式启动、关闭、激活(处理请求前)、失效(处理请求后)等多个钩子函数指针。每一个模式将这些函数指针指向自己的函数,实现不同模式之间处理输入,输出的差异化。
    定义一个对外服务,只需实例化一个新的sapi_module_struct,并实现需要的钩子函数即可。
    常用的sapi:
    apache2handler
    cgi-fcgi
    fpm-fcgi
    cli
    2.Zend目录源码
    Zend目录是php的核心代码
    1.内存管理模块
    2.垃圾回收
    3.数据实现
    3.main目录源码
    main目录是SAPI层和Zend层的粘合剂。
    Zend 层实现了 PHP 脚本的编译和执行,sapi 层实现了输入和输出的抽象,main 目录则起到了承上启下的作用。
    4.ext目录源码
    ext是php相关拓展的目录,常用的arr,str,pdo等函数都在这里定义
    5.TSARM目录源码
    TSRM 是 Thread Safe Resource Manager 的缩写——线程安全资源管理器