PHP 运行流程
来源:互联网 发布:京东云 知乎 编辑:程序博客网 时间:2024/05/21 02:22
PHP 运行流程
在一个典型的 Apache + mod_php 架构的 PHP 运行环境中,一个 PHP 网站是这样运行的:
- Apache 收到用户的 HTTP 请求
- 这个请求是以 .php 结尾或者是一个不存在的路径(.htaccess 会将其转发到 index.php)
- Apache 的 mod_php 会启动一个新的 PHP 进程(PHP 解释器),读取 HTTP 请求的 URL 中的那个 .php 文件或者 index.php
- 被读取进 PHP 解释器的字符串被按照 PHP 的语法进行解析。为了方便理解,我们将这些经过解析的字符串所生成的 context(上下文)命名为 Matrix
- 然后 PHP 解释器会根据从 Matrix 中解析出的特定 PHP 语句(如 require)载入其他 PHP 文件,并将其内容以字符串的形式加入 Matrix
- 最终 Matrix 变成一个数万行代码的巨型上下文(为了便于理解可以想象成巨长的代码文件字符串),PHP 解释器会按照 PHP 语法执行 Matrix,进行数据库连接、网络请求、文件读写等操作
- 每一次的 echo 都会被写入到输出缓冲区,最终这个巨长的代码字符串被执行完毕,PHP 进程退出内存
- 缓冲区中就是要发给用户的 HTTP response,其实就是一堆字符串,只不过它遵守 HTML 规范,可以被浏览器解析。这一堆字符串被 Apache 发送回用户的浏览器,浏览器渲染,用户看到内容
0 0
- PHP 运行流程
- PHP代码运行流程
- PHP代码运行流程
- PHP session 的运行流程
- PHP学习之Pimple运行流程详解
- 简单解析PHP程序的运行流程
- codeigniter源代码分析之CI系统运行流程 CodeIgniter.php
- [李景山php]每天laravel-简单的运行流程
- 运行PHP
- [李景山php]每天TP5-20161215|thinkphp5的程序加载运行流程【图】
- JAVA运行流程
- ASP.net运行流程
- WebWork的运行流程
- java的运行流程
- Struts运行流程解释
- Java程序运行流程
- BootStrap运行流程解析
- MFC 运行流程
- excel单元格间接引用和字符串连接
- <Android 应用 之路> 百度地图API使用(1)
- React 动态增加compoent
- 测试
- 1027 打印沙漏
- PHP 运行流程
- 实现了一个延时几秒钟的开始activity的图像画面,然后转换到其他Activity
- 欢迎使用CSDN-markdown编辑器
- Extjs的form表单中,如何不提交数据
- Ubuntu16.04,windows盘符无法访问
- 软件版本号讲解:什么是Alpha,Beta,RC,Release
- 1028 人口普查
- 二叉树中找两个结点的最近公共祖先结点
- linux 遭遇SIGPIPE信号,导致进程退出的问题