PHP 整体结构解析和Opcache优化案例
PHP由以下部分组成:
- Zend Zend 引擎整体用C语言实现,是 PHP 的内核部分,它负责将 PHP 代码翻译(词法、语法解析等一系列编译过程)为可执行的 opcode 操作码,并实现相应的处理方法、基本的数据结构(如 hashtable、oo)、内存分配及管理、提供相应的 API 方法供外部调用。Zend 是一切的核心,所有的外围功能均围绕 Zend 实现。
- Extension 围绕着 Zend 引擎,Extensions 通过组件化的方式提供各种基础服务,我们常见的各种内置函数(例如变量操作函数、字符串操作函数等)以及标准库等都是通过 Extensions 来实现。用户也可以根据需要实现自己的 Extension 组件以达到功能扩展、性能优化等目的。
- SAPI SAPI 全称是 Server Application Programming Interface,译为“服务器应用程序编程接口”。SAPI 通过一系列钩子函数,使得 PHP 可以和外围交互数据,这是 PHP 非常优雅和成功的一个设计,通过 SAPI 成功的将 PHP 本身和上层应用解耦隔离,PHP 可以不再考虑如何针对不同应用进行兼容,而应用本身也可以针对自己的特点实现不同的处理方式。SAPI 提供了一个和外部通信的接口,常见的 SAPI 有:cgi、fast-cgi、cli、apache 模块的 DLL、isapi 等。
大约 5 分钟