php运行原理 .php如何运行
一、php7的执行原理概述
我们了解到的高级编程语言大体分为两种:一种是编译型语言,一种是解释型语言,像c、go语言等就是编译型语言,在应用程序执行之前,就将程序代码翻译成汇编语言,然后根据软硬件环境编译成目标文件 。而解释型语言,在程序运行时才被翻译成机器语言,执行一次解释一次,所以效率相对较低 。
在php7中,源代码首先进行词法分析,将代码切分为多个字符串单元,分割后的字符串叫做token,独立的token是无法表达语义的,需要经过语法分析,将token转换成抽象语法树(AST) 。之后,抽象语法树在转换为机器指令执行,这些指令在php中成为opcode 。如常见的 echo 对应的opcode指令就是ZEND_ECHO 。
(1)token
token是php代码被切割成的有意义的标识,通过token_get_all()函数查看到token的值转换成一个二维数组,每个成员数组的第一个值为token对应的枚举值,第二个值为token对应的字符串内容,第三个值为代码对应的行号 。
(2)AST
token是一个个单独的“词块”,需要借助规则来串联,串联后的产物就是php7新增的AST,实现了php编译器和解释器的解耦,有效提升了可维护性 。
(3)opcodes
AST扮演了源码到中间代码的临时存储介质的角色,还需要转换成opcode才能被引擎执行,opcode是单独指令,opcodes是opcode的集合形式,是php执行过程中的中间代码,类似java的字节码,opcode生成之后由虚拟机执行 。
【php运行原理 .php如何运行】我们知道,php工程优化中有个比较常见的开启“开启opcache” 。指的就是opcodes缓存,通过省去了从源码到opcode的阶段,引擎直接执行缓存的opcode,以提升性能 。
推荐阅读
- 苹果11多少g运行 苹果11运行内存多少g
- 华为运行内存怎么看还剩多少 华为运行内存怎么看
- 微波炉加热原理 微波炉加热原理是什么
- 甜酒制作原理
- 筷子的神力实验原理
- 酒精擦浴的原理是什么
- 从中医角度分析哮喘发病原理
- 变色龙变色的原理是什么 变色龙变色的原理介绍
- 酒精防冻的原理
- exe文件手机如何运行