首页 >后端开发 >PHP问题 > 正文

php是如何解释的

原创2019-09-27 10:31:0101067

php会调用编译函数zend_compile_file()来进行编译。 这个函数的具体实现其实是包括两个主要过程的:词法分析(Lex实现),语法分

析(Yacc实现)。当执行完这个函数之后:php脚本的编译就算结束了。 这个函数的输入是:php脚本文件,而输出则是op_array.简单一

点说:编译过程就是把脚本给解析成一条条php虚拟机可以处理的指令,而op_array就是这些指令做成的一个array而已(这很类似一些

编译型语言编译产生的汇编代码了,也是一条条的命令)。

之后php虚拟机会调用zend_execute()这个函数来执行。该函数的输入就是上边编译阶段产生的op_array,在这里他会解析每条命令并进

行处理。 由于op命令一共有150左右,所以它需要处理这150中命令。这里会产生一个很有意思的问题:它是如何处理这150种命令的

呢?首先每条命令都是有对应的处理器来进行处理的。所以:虚拟机会依据op_array中各条命令的类型来分发给响应的处理器来进行处

理。

以上就是php是如何解释的的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:PHP
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • PHP编程之道PHP编程之道
  • PHP零基础视频教程PHP零基础视频教程
  • 视频教程分类