php生命周期介绍

时间:2022-11-03 07:09:45 | 浏览:4830

PHP的运行模式:PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。1、当我们在终端敲入php这个命令的时候,它使用的是CLI。它就像一个web服务器一样来支持php完成这个请求,请求

PHP的运行模式:

PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。

1、当我们在终端敲入php这个命令的时候,它使用的是CLI。

它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。

2、当使用Apache或者别web服务器作为宿主时,当一个请求到来时,PHP会来支持完成这个请求。一般有:

  • 多进程(通常编译为apache的模块来处理PHP请求)

  • 多线程模式

简要的执行过程:

1、PHP是随着Apache的启动而运行的;

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

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

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

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

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

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

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

运行PHP的几个阶段:

SAPI运行PHP都经过下面几个阶段:

1、模块初始化阶段(Module init) :

即调用每个扩展源码中的的PHP_MINIT_FUNCTION中的方法初始化模块,进行一些模块所需变量的申请,内存分配等。

2、请求初始化阶段(Request init) :

即接受到客户端的请求后调用每个扩展的PHP_RINIT_FUNCTION中的方法,初始化PHP脚本的执行环境。

3、执行PHP脚本

4、请求结束(Request Shutdown) :

这时候调用每个扩展的PHP_RSHUTDOWN_FUNCTION方法清理请求现场,并且ZE开始回收变量和内存。

5、关闭模块(Module shutdown) :

Web服务器退出或者命令行脚本执行完毕退出会调用扩展源码中的PHP_MSHUTDOWN_FUNCTION 方法

各种情况下的SAPI生命周期

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

CLI/CGI模式的PHP属于单进程的SAPI模式。这类的请求在处理一次请求后就关闭。也就是说每次请求都会重复这几个环节: 开始 - 请求开始 - 请求关闭 - 结束 。可以看到扩展的初始化花费了很多资源。

2. 多进程SAPI生命周期。(MPM的perfork方式)

通常PHP是编译为apache的一个模块来处理PHP请求(mod_php)。Apache一般会采用多进程模式, Apache启动后会fork出多个子进程(apache里可以指定开始fork出来的进程数)。每个进程的内存空间独立,每个子进程刚被fock出来都会经过开始和结束环节。

3. 多线程的SAPI生命周期。(FastCGI或者MPM的work方式里的单个进程)

多线程模式和多进程中的某个进程类似,在这种模式下,只有一个服务器进程在运行着,但会同时运行很多线程,这样可以减少一些资源开销,向Module init和Module shutdown就只需要运行一遍就行了,一些全局变量也只需要初始化一次,因为线程独具的特质,使得各个请求之间方便的共享一些数据成为可能。

相关资讯

消费持续悲观,市场新周期要来?

确实也是,比如前天市场还在思考中阿问题的后续,昨天就开始琢磨光伏细分领域机会,晚上开始科普胶膜,poe胶膜,然后今天又开始挖掘vr,Ar,晚上估计那啥防眩晕技术又要开始科普。市场轮动快速,持续力差劲,然后资金寻找不到大的机会就开始在赛道的细分领域里越挖越细。

板块及股票,均是周期循环下资金运行的载体

在回顾之前,先唠叨几句:1:万物兼周期,无论是大家的盈利模式,还是板块,还是个股等,其实都是在周期循环运行的;3:而无论是多强的主流板块,核心个股,最终都有落幕的一天,而其实它落幕并不是说这个板块或这个股票基本面就发生了多大的变化,而仅仅是情绪到了极限高潮,物极必反,盛极而衰;

震荡行情板块轮动加快,哪些股票能真正穿越周期?

吴海荣认为,在新能源板块中那些核心逻辑最硬的股票,产业逻辑和行业水平都在线,只是目前由于情绪周期,短线投机资金适当流出,但“资金不可能完全流入半导体、科技板块”。7月19日晚间,中信证券在官网发布关于“中通客车”交易风险提示称,上市公司“中通客车”基本面目前没有发生重大变化,股价短期内上涨幅度较大,中信证券敬请各位投资者充分了解股票市场风险。

php需要云服务器什么环境

php需要云服务器什么环境?云服务器开通后,需要根据需求安装所需环境。2、选择镜像市场中他人分享的镜像(含操作系统),选择使用【宝塔控制面板】进行环境安装。3、使用服务IP:8888进入【宝塔控制面板】后台。

php云虚拟主机价格便宜

php价格便宜,购买就到,20年知名老牌主机服务商,产品丰富,满足不同用户需求。拥有40余种在线管理功能,易操作,管理便捷。并且价格便宜,支持试用,专业团队7。

黄金收盘:纽约黄金七日连跌创十个月新低 并创21个月以来最长连跌周期

金融界7月7日消息,美元汇率持续走高,黄金期货连续七个交易日走低,创21个月以来最长连跌趋势。8月交割的黄金期货下跌2740美元,收于每盎司173650美元,跌幅近16%,为2021年9月以来最活跃合约的最低水平。

生命中绝不能错过的 10 款玩具

您正在阅读OFFLINEIssue44《大人的玩具》。成为离线会员,您将收到每周一期电子杂志,完整阅读会员专享内容。李墨谦No1我你他动物模型特别适用人群:野生动物爱好者图片/ZachiEvenor「我你他」,源自该品牌英文名

珠宝企业,如何穿越私域周期?

加上用户对装饰功能大于使用价值的固有认知,导致行业普遍重营销、教育难、重资产、获客与库存成本高。珠宝与其他行业有很多不一样地方:从产品角度看典型的低频、高价、非标、耐耗使用周期长。即使同样设计,标价也有所不同。

美国正式公布UFO报告:143起事件无法解释,无法证明是地外生命

(观察者网讯)当地时间25日,美国情报部门正式提交了关于不明飞行物(UFO)的政府主导调查报告,称美国军方多年来观测到的144起UFO事件中,除了一次被认为是气球外,余下143起都“无法解释”,理由是缺乏足够信息,呼吁进一步调查。 美国有线

漫说 | 生命救护绿波 传递城市温度

南宁市公安局交警支队按照“把好事办实、把实事办好”的思路,充分发挥“生命救护绿波”机制的作用,最大限度为救助危重病患者抢时间、保生命,一年来先后紧急快速护送188名危重病患者和临盆临产孕妇。南宁云—南宁新闻网根据真实案例特别策划,与南宁市公。

友情链接

天天财经元宇宙中国SEO域名抢注宝宝起名网网站监控平顶山新闻头条网海口新闻头条网温州鞋业人才网上饶新闻资讯网广东旅游网雅安新闻头条网今日朔州国学易经网全脑开发教育网家政保姆网郑姓兔宝宝起名萍乡新闻头条网肇庆新闻头条网东莞头条新闻网林氏家族取名网云服务器技术网郑州新闻资讯网黄山毛峰官网十二生肖起名网报喜鸟A股快递信息网凡拓数创股票江苏旅游网刘姓男孩名字大全保龄球初学网三明今日新闻网鹰潭新闻资讯网出国留学网股市大盘指数分析黑龙江旅游网
PHP编程知识网-php开源建站系统、PHP程序员网站开发、php编程工具、php菜鸟教程下载、PHP网络编程教学、php网络编程、php工程师、php菜鸟教程数据库、PHP网站开发、PHP精品源码网站、php程序员入门、php零基础入门教程、php源码搭建网站流程、php从入门到精通第2版、php开发简单网站、php制作网站实例、php网站开发实例教程源代码、php中文网破解版、php中文网。
php编程知识 yoceo.cn©2022-2028版权所有