详解PHP的执行原理和流程_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > 详解PHP的执行原理和流程

详解PHP的执行原理和流程

 2018/3/9 2:39:33  青春..荒唐  程序员俱乐部  我要评论(0)
  • 摘要:关于PHP的执行过程和原理(1)简单阐述过程我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的;①PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口);②PHP总共有三个模块:内核、Zend引擎、以及扩展层;③PHP内核用来处理请求、文件流、错误处理等相关操作;④Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;⑤扩展层是一组函数、类库和流,PHP使用它们来执行一些特定的操作。比如
  • 标签:详解 PHP 流程 执行

关于PHP的执行过程和原理

?

(1)简单阐述过程

? ? 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的;?

① PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口);?

②PHP总共有三个模块:内核、Zend引擎、以及扩展层;?

③PHP内核用来处理请求、文件流、错误处理等相关操作;?

④Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;?

⑤扩展层是一组函数、类库和流,PHP使用它们来执行一些特定的操作。比如,我们需要mysql扩展来连接MySQL数据库;?

⑥当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交给扩展,等处理完特定任务后再返还;?

⑦最后,ZE将程序运行结果返回给PHP内核,它再将结果传送给SAPI层,最终输出到浏览器上?

?

(2)引言

? ?PHP作为世界上最好的编程语音,被广泛的运用到Web开发中。因为其语法和C类似,有着非常平缓的学习曲线,越来越多的人使用PHP进行Web产品的快速开发。

? ?PHP世界里也涌现了很多开发框架,比如Laravel、ThinkPHP等,但不论何总框架,他们在处理Web请求时的模式都是一样的,本文首先阐述PHP开发Web应用的基本架构,然后分别分析Laravel和ThinkPHP在处理Web请求时的处理流程。

?

(3)PHP开发Web应用的基本架构

? ?PHP开发Web应用时用户的请求需要指向具体的入口文件。WebServer(网络服务器)是一个内容分发者,他接受用户的请求后,如果是请求的是css、js等静态文件,WebServer会找到这个文件,然后发送给浏览器;如果请求的是/index.php,根据配置文件,WebServer知道这个不是静态文件,需要去找PHP解析器来处理,那么他会把这个请求简单处理后交给PHP解析器。

PHP处理Web请求流程分析 - 第1张  | Eurekaclass=" wp-image-130 aligncenter" src="/Upload/Images/2018030902/62EF27C4F8380EE3.png" style="border-style: none; margin: 0px auto; max-width: 100%; padding: 0px; display: block; height: auto;">

?

? ?WebServer会依据CGI协议,将请求的Url、数据、Http Header等信息发送给PHP解析器,接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以CGI规定的格式返回处理后的结果,退出进程。web server再把结果返回给浏览器。整个处理过程如上图所示。

? ?

?

?

【拓展】

? ①CGI协议(common gateway interfac通用网关接口),具体我在后面文章里做了总结

?

?

?

?

?

?

?

?

?

参考网址:

http://blog.csdn.net/qq_28602957/article/details/53363963

http://blog.csdn.net/lsy90/article/details/51323993

http://www.jb51.net/article/74907.htm

上一篇: java 内存诊断 下一篇: 没有下一篇了!
发表评论
用户名: 匿名