加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php的opcode缓存原理

发布时间:2020-05-25 08:11:27 所属栏目:PHP 来源:互联网
导读:opcode是什么? 它是一种PHP脚本编译后的中间语言,类似java的字节码。 PHP代码执行(Zend引擎)的步骤如下: 1.Scanning(Lexing) ,将PHP代码转换为语言片段(Tok

opcode是什么? 它是一种PHP脚本编译后的中间语言,类似java的字节码。 PHP代码执行(Zend引擎)的步骤如下:

1.Scanning(Lexing),将PHP代码转换为语言片段(Tokens)
2.Parsing,将Tokens转换成简单而有意义的表达式
3.Compilation,将表达式编译成Opocdes
4.Execution,顺次执行Opcodes,每次一条,从而实现PHP脚本的功能。
Zend引擎从文件系统读取文件,扫描其词典和表达式,解析文件,创建要执行的计算机代码(opcode),最后执行opcode。每次请求PHP脚本都会执行一遍以上步骤,如果PHP源代码没有变化,那么把opcode缓存下来,直接访问opcode不是更快。 opcode缓存是什么? 当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(opcode)。 opcode缓存的目地是避免重复编译,减少CPU和内存开销。如果动态内容的性能瓶颈不在于CPU和内存,而在于I/O操作,比如数据库查询带来的磁盘I/O开销,那么opcode缓存的性能提升是非常有限的。 但是既然opcode缓存能带来CPU和内存开销的降低,这总归是好事。 php opcode的缓存扩展有哪些?
eAccelerator
xcache
APC
opcache(原名Zend Optimizer+)

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读