PHP培训专家视角
选课中心 APP下载
当前位置:首页 > 技能类 > PHP培训 > 专家视角 > PHP生命周期

PHP生命周期

更新时间:2020-05-29 16:08:41 来源: 阅读量:

【摘要】 PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。下面是PHP生命周期,让我们一起来看看PHP生命周期的具体内容吧!

PHP生命周期

php的架构图

984686731-5a8e513fdb691_articlex.jpg

SAPI

SAPI(Server Application Programming Interfac) is an application programming interface (API) provided by the web server to help other developers in extending the web server capabilities.

SAPI是一个用来帮助其他开发程序扩展web服务器功能的应用程序接口(api)。它将外部条件抽象, 为内部的PHP提供一套固定统一的接口, 使得PHP自身实现能够不受外部环境影响,保持一定的独立性。PHP中常用的SAPI有cli(命令行模式,单进程)、php-fpm、CGI、Apache...有点像策略模式,使用相同的接口,但是实现会略有不同。

2123064506-5a8e513f9c6ca_articlex.png

PHP的启动和终止

请求之前的开始阶段:

MINIT:模块初始化阶段。初始化一些扩展、常量、类、资源等所有被php脚本用到的东西。(常驻内存,可以被所有请求使用。)PRINT:模块激活阶段。PHP会调用所有模块的RINIT函数,在这个阶段各个模块也可以执行一些相关的操作,比如初始化本次请求使用到的变量。

请求之后的结束阶段:

RSHUTDOWN:这个页面请求执行完毕,或者被用户给die(exit)了, 这时PHP会启动回收程序,回收本次请求使用的资源。这次会执行所有已加载扩展的RSHUTDOWN(俗称Request Shutdown)方法, 这时候扩展可以利用内核中的变量表等做的一些事情。因为PHP一旦把所有扩展的RSHUTDOWN方法执行完,便会释放掉这次请求使用过的所有资源,比如变量表的所有变量、所有在这次请求中申请的内存等。MSHUTDOWN:PHP执行所有扩展的MSHUTDOWN,释放资源。

PHP的生命周期

1.单进程SAPI生命周期(CLI/CGI)

1216653139-5a8e515126ef1_articlex.jpg

2.多进程SAPI生命周期(Apache2)

2054576553-5a8e5150b0ed0_articlex.jpg

3.多线程的SAPI生命周期

428451095-5a8e5150af5bd_articlex.jpg

4.Embed

Embed SAPI是一种比较特殊的sapi,容许你在C/C++语言中调用PHP/ZE提供的函数

以上就是PHP生命周期的内容,对PHP感兴趣的小伙伴们可以关注考必过,获取更多PHP前沿资讯和最新技术。最新消息小编会第一时间发布,助力大家考试,加油!

分享到: 编辑:caocao

专家视角关键词