PHP的几种运行模式

如题所述

php一共分为五大运行模式:包括cgi 、fast-cgi、cli、isapi、apache 模块的 DLLCGICGI即通用网关接口(Common Gateway Interface),它是一段程序,通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执 行程序,再把服务器执行程序的结果返还给HTML页。CGI 的跨平台性能极佳,几乎可以在任何操作系统上实现。CGI方式在遇到连接请求(用户 请求)先要创建cgi的子进程,激活一个CGI进程,然后处理请求,处理完后结束这个子进程。这就是fork-and-execute模式。所以用cgi 方式的服务器有多少连接请求就会有多少cgi子进程,子进程反复加载是cgi性能低下的主要原因。都会当用户请求数量非常多时,会大量挤占系统的资源如内 存,CPU时间等,造成效能低下。CGI-FCGIfast-cgi 是cgi的升级版本,FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一 次。PHP使用PHP-FPM(FastCGI Process Manager),全称PHP FastCGI进程管理器进行管理。FastCGI的工作原理1、Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module)2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接。3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。4、 FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。 在CGI模式中,php-cgi在此便退出了。在上述情况中,你可以想象CGI通常有多慢。每一个Web 请求PHP都必须重新解析php.ini、重新载入全部扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的 好处是,持续数据库连接(Persistent database connection)可以工作。APACHE2HANDLERPHP作为Apache模块,Apache服务器在系统启动后,预先生成多个进程副本驻留在内存中,一旦有请求出 现,就立即使用这些空余的子进程进行处理,这样就不存在生成子进程造成的延迟了。这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计 算机中等待下次请求。对于客户浏览器的请求反应更快,性能较高。apache模块的DLL:该运行模式是我们以前在windows环境下使用apache服务器经常使用的,而在模块化(DLL)中,PHP是与Web服务器一起启动并运行的。(是apache在CGI的基础上进行的一种扩展,加快PHP的运行效率)ISAPI:ISAPI即Internet Server Application Program Interface,是微软提供的一套面向Internet服务的API接口一个ISAPI的DLL,可以在被用户请求激活后长驻内存,等待用户的另一个请求,还可以在一个DLL里设置多个用户请求处理函数,此外,ISAPI的DLL应用程序和WWW服务器处于同一个进程中,效率要显著高于CGI。(由于微软的排他性,只能运行于windows环境)cli:cli是php的命令行运行模式,大家经常会使用它,但是可能并没有注意到(例如:我们在linux下经常使用 “php -m”查找PHP安装了那些扩展就是PHP命令行运行模式;有兴趣的同学可以输入php -h去深入研究该运行模式)总结:每种运行模式都有自己的优缺点,没有绝对的好与坏,主要是看大家处理何种环境。PHP的几种运行模式
温馨提示:内容为网友见解,仅供参考
无其他回答

PHP开发常用的4种运行方式
PHP的四种常见运行方式包括:CGI、FastCGI、Apache2Handler 和 CLI,下面详细介绍每种方式的特性与用途。CGI(通用网关接口)是一种创建连接并传输指令和结果的机制,它在处理请求时创建子进程,进行多次加载,导致性能下降,尤其是在高负载情况下。FastCGI 是 CGI 的升级版,它作为常驻型服务,持续运行多个...

php有几种运行模式?最常用的是那种
php一共分为五大运行模式:包括cgi 、fast-cgi、cli、isapi、apache 模块的 DLLCGI CGI即通用网关接口(Common Gateway Interface),它是一段程序,通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执 行程序,再把服务器执行程序的结果返还给HTML页。

PHP文件及运行(适合PHP初学者)
PHP命令行参数包括:交互式运行、读取.ini文件、模块列表、显示构建信息、语法检查、彩色显示、去除注释显示、帮助等。在Windows CMD或PowerShell中运行命令行模式,输入PHP代码后,使用Ctrl-Z(Windows)或Ctrl-D(Linux)退出。PHP变量名大小写敏感,以美元符($)开头;常量名默认区分大小写;函数名、方...

请问什么是Module和Isapi?php在apache运行模式Apache module、cgi、Isap...
iis运行php有两种模式:isapi和fastcgi模式。apache运行php有三种模式:cgi、fastcgi和apache模块。=== iis: php5.3以前的版本支持isapi和fastcgi模式,现在只支持fastcgi模式。apache:php依然支持fastcgi、cgi、apache模块三种模式。=== iis如何配置支持上面两种模式:isapi模式配置方法:操作简单,网上搜搜。...

自动扶梯控制柜节能运行方式有几种
php一共分为五大运行模式:包括cgi、fast-cgi、cli、isapi、apache模块的DLLCGICGI即通用网关接口(CommonGatewayInterface),它是一段程序,通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。CGI的跨平台...

php介绍(php介绍页)
PHP是一种HTML内嵌式的在伺服器端执行的指令码语言,所以大部分PHP开发出来的Web应用,初始的开发模板就是混合层的资料程式设计。虽然通过MVC设计模式可以把程式应用逻辑与网页呈现逻辑强制性分离,但也只是将应用程式的输入、处理和输出分开,网页呈现逻辑(检视)还会有HTML程式码和PHP程式强耦合在一起。 php可以干什么?

PHP CLI模式开发详解
PHP CLI模式开发是一种无需Web服务器的运行方式,适用于各种场合。CLI模式有以下两种运行方式:1. **使用脚本路径调用PHP CLI解释器**,通过命令行指定路径,如`# php \/path\/to\/yourFile.php`,并传递参数。此方法需明确PHP解释器的位置。2. **为文件设置可执行权限**,在UNIX\/Linux环境执行`chmod...

php是什么格式的文件,怎么播放(打开)?
PHP是超级文本预处理语言的缩写,是一种HTML内嵌式的语言。打开PHP文件的方法和操作步骤如下:1、第一步,找到桌面的php文件,见下图,然后进入下一步。2、其次,完成上述步骤后,右键单击php文件,然后从弹出的列表中选择“打开方式”选项,见下图,然后进入下一步。3、接着,完成上述步骤后,从打开的...

php常用的设计模式?
CakePHP是一个快速开发PHP的框架,其中使用了一些常见的设计模式如ActiveRecord,AssociationDataMapping,FrontController以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的框架,而且这个快速的实现并没有牺牲项目的弹性。 4.PHPDevShell PHPDevShell是一个开源(GNU\/LGPL)的快速应用开发框架,用于...

php为什么不能常驻内存
PHP 是解释运行的,PHP 页面被解释执行后,所有相关的资源都会被回收,对象也被销毁了,所以PHP 程序无法做到常驻内存运行。

相似回答