博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php的几种运行模式
阅读量:6969 次
发布时间:2019-06-27

本文共 1298 字,大约阅读时间需要 4 分钟。

面试经常被问到这个,于是查了一些资料整理下。

  1.cgi全称“通用网关接口”(Common Gateway Interface), 它可以让一个客户端,从浏览器向Web服务器上的程序请求数据,是客户端和程序之间传输数据的一种标准,另外CGI独立于任何语言,所以可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。CGI针对每个用户请求都要开单独的子进程去维护,执行结束处理掉这个进程。典型的fork-and-execute方式

  2.fastcgi,根据1中cgi的特性,可以知道消耗很大,如果很多用户请求,则会申请很多个子进程。。这时候出现了FastCGI。FastCGI 像是一个常驻 (long-live) 型的 CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去 fork 一次 (这是 CGI 最为人诟病的 fork-and-execute 模式)。这个是当下用的最多的了。。linux+nginx+php+mysql

  FastCGI的工作原理是:

(1)、Web Server启动时载入FastCGI进程管理器【PHP的FastCGI进程管理器是PHP-FPM(php-FastCGI Process Manager)】(nginx);

(2)、FastCGI进程管理器自身初始化,启动多个CGI解释器进程 (在任务管理器中可见多个php-cgi.exe)并等待来自WebServer的连接。

(3)、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。

(4)、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在 WebServer中)的下一个连接。在正常的CGI模式中,php-cgi或 .exe在此便退出了。

在CGI模式中,你可以想象 CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部dll扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。

  3.module形式一般用于apache,模块模式是以mod_php5模块的形式集成,此时mod_php5模块的作用是接收Apache传递过来的PHP文件请求,并处理这些请求,然后将处理后的结果返回给Apache。

  4.cli模式。命令行执行php,一般不用。我们在linux下经常使用 "php -m"查找PHP安装了那些扩展就是PHP命令行运行模式;也可以直接命令行执行php xxx.php

 

转载于:https://www.cnblogs.com/leihuang/p/10488852.html

你可能感兴趣的文章
新年福利 | 架构的“一小步”,业务的一大步
查看>>
Confluence 6 升级中的一些常见问题
查看>>
不可小看的数值类型—Python基础前传(5)
查看>>
集群中节点挂载数据盘的几种方式
查看>>
工作日志——基于k8s搭建spark集群
查看>>
3. 爬虫框架Clawler 爬取优酷电影名
查看>>
记维护旧项目遇到的问题
查看>>
Node v10.15.3 (LTS) 发布,服务器端的 JavaScript 运行环境
查看>>
如何让你的网站拥有网盘功能, 一分钟搞定
查看>>
行李箱品牌“July”完成数百万元天使轮融资
查看>>
group by,where,having之间的区别和用法
查看>>
HashMap VS Hashtable
查看>>
MySQL-To-JSON 的 Kafka 生产者
查看>>
[网络篇]ESP8266-SDK教程(五)之SmartConfig、Airkiss等多种配网方式
查看>>
C4C销售订单中业务伙伴的自动决定功能Partner determination procedure
查看>>
关于Java序列化你不知道的事
查看>>
使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。...
查看>>
项目管理助力组织赢在VUCA时代
查看>>
ybg_auth 4.2 版本发布,基于微服务开发业务框架
查看>>
浏览器事件机制中事件触发三个阶段?
查看>>