乐趣区

关于php:PHP内核剖析笔记14

1.php 源码下的几个次要目录:

SAPI、main、Zend、ext.
SAPI 是 PHP 的利用接口层.
main 是 PHP 的次要代码, 次要是输出 / 输入、Web 通信、PHP 的初始化操作 (比方 fastcgi 协定的解析、扩大的加载、PHP 配置的解析等) 等, 它位于 ZendVM 的上一层.
Zend 是 PHP 解析器的次要实现, 即 ZendVM, 它是 PHP 语言的外围实现,PHP 代码的解释、执行就是由 Zend 实现的.
ext 是 PHP 的扩大目录.
TSRM 是线程平安相干的实现.

2.PHP 的根本形成:

1)SAPI

罕用的两个 SAPI 是 Fpm 和 Cli.
SAPI 层是整个 PHP 框架的最外层, 不同的 SAPI 适配不同的环境(比方命令行、web 等), 次要负责框架的初始化工作.
如果 SAPI 是一个独立的应用程序(比方 cli 或 fpm), 那么 main 函数也定义在 SAPI 中.

2)ZendVM

ZendVM 是一个虚构计算机, 它介于 PHP 利用与理论计算机之间, 咱们编写的 PHP 代码就是被它解释执行的.
它次要由两局部组成: 编译器、执行器.
    编译器负责将 PHP 代码解释为执行器可辨认的指令.
    执行器负责执行编译器解释进去的指令.
ZendVM 等价于 Java 中的 JVM, 他们都是形象进去的虚构计算机.

3)Extension

扩大是 PHP 内核提供的一套用于补充 PHP 性能的形式.
扩大分为 PHP 扩大和 Zend 扩大.
    PHP 扩大比拟常见.
    Zend 扩大次要利用于 ZendVM,Opcache 就是 Zend 扩大.
退出移动版