侧边栏壁纸
博主昵称
流苏小筑

步伐虽小,密而不止

PHP底层原理之:代码执行过程

2022年12月23日 20阅读 0评论 1点赞

PHP底层原理之:代码执行过程

m4bdbubb.png

1.加载和解析 PHP 文件

当用户请求一个 PHP 文件时,Web 服务器(如 Apache 或 Nginx)将请求发送到 PHP 解释器。PHP 解释器首先读取并加载 PHP 文件的源代码。

2.词法分析(Lexical Analysis)

PHP解释器将PHP代码拆解成最小的语法单元(称为token),例如关键词、变量名、运算符等。

<?php
echo "Hello, World!";

在词法分析后可能生成以下token:

  • <?php:PHP开始标签
  • echo:输出语句
  • "Hello, World!":字符串
  • ;:语句结束符

3.语法分析(Syntax Analysis)

解释器根据PHP语法规则,将这些token组织成一个语法树(AST,Abstract Syntax Tree)。语法树表示代码的逻辑结构,为接下来的执行阶段做准备。

4.生成字节码

Zend编译器将解析后的代码转换为可执行的机器码(opcode)。

5.执行字节码

生成的字节码会在 Zend 引擎中被解释执行。PHP 的 Zend 引擎是一种虚拟机,它负责执行编译后的字节码。

6.输出结果

PHP 解释器通过 Zend 引擎执行字节码后,将执行的结果(例如生成的 HTML 页面、JSON 响应等)返回给 Web 服务器,最终由服务器将结果返回给客户端(如浏览器)。

7.PHP和java对比

PHPJAVA
编译后是opcode编译后是.class,称为bytecode
运行在zend虚拟机运行在jvm虚拟机
每次都需要重新编译只需要编译1次
需要将整个代码编译成可执行文件,而是逐行解释和执行将所有代码编译成一个可执行文件
1

—— 评论区 ——

昵称
邮箱
网址
取消