php运行机制与原理:

 

PHP总共有三个模块:内核、Zend引擎、以及扩展层;

1. PHP内核用来处理请求、文件流、错误处理等相关操作;

2. Zend引擎(ZE)用以将源文件转换成机器语言(二进制),然后在虚拟机上运行它;

3. 扩展层是一组函数、类库和流,PHP使用它们来执行一些特定的操作。比如,我们需要mysql扩展来连接MySQL数据库;当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交给扩展,等处理完特定任务后再返还;

最后,ZE将程序运行结果返回给PHP内核,它再将结果传送给SAPI层,最终输出到浏览器上。

Zend引擎:Zend整体用纯C实现,是PHP的内核部分,它将PHP代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的
处理并实现相应的处理方法、实现了基本的数据结构(如hashtable、oo)、内存分配及管理、提供了相应的api方法供外部调用,
是一切的核心,所有的外围功能均围绕Zend实现。