PHP底层分析
2016-12-20 本文已影响0人
上街买菜丶迷倒老太
<h1>编译流程</h1>
PHP总共有三个模块:内核、Zend引擎、以及扩展层;PHP内核用来处理请求、文件流、错误处理等相关操作;Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;扩展层是一组函数、类库和流,PHP使用它们来执行一些特定的操作。
比如,我们需要mysql扩展来连接MySQL数据库;当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交给扩展,等处理完特定任务后再返还;
最后,ZE将程序运行结果返回给PHP内核,它再将结果传送给SAPI层,最终输出到浏览器上。
php是个脚本语言,zend编译器把php代码编译成opcode,然后由zend虚拟机来执行,zend虚拟机是架构在操作系统上
图片.png