PHP开发常用的4种运行方式 (php开发常用的类)
本文目录导航:
PHP开发常用的4种运行方式
PHP的四种常见运行方式包括:CGI、FastCGI、Apache2Handler 和 CLI,下面详细介绍每种方式的特性与用途。
CGI(通用网关接口)是一种创建连接并传输指令和结果的机制,它在处理请求时创建子进程,进行多次加载,导致性能下降,尤其是在高负载情况下。
FastCGI 是 CGI 的升级版,它作为常驻型服务,持续运行多个解释器进程,减少初始化时间,提升性能。
PHP 的 FastCGI Process Manager(PHP-FPM)负责管理这些进程。
Apache2Handler 是一种将 PHP 作为 Apache 模块的配置方式,预生成多个进程副本,快速响应请求,适用于高并发场景。
CLI(命令行接口)模式允许 PHP 在命令行环境运行,提供查看版本、扩展、配置、函数和类信息等功能,以及检测代码的能力。
它还内置了服务器功能,适用于开发和部署。
CGI方式每次请求都需创建子进程,导致性能受限;FastCGI通过常驻型进程优化性能,支持持续数据库连接;Apache2Handler 提供快速响应,适用于高负载环境;CLI模式提供了命令行操作的便利性,内置服务器功能。
以上是 PHP 常用的四种运行方式,具体选择应根据项目需求、性能要求和资源限制进行评估。

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都必须重新解析、重新载入全部扩展并重初始化全部数据结构。
使用FastCGI,所有这些都只在进程启动时发生一次。
一个额外的 好处是,持续数据库连接(Persistent>请问什么是Module和Isapi?php在apache运行模式Apache module、cgi、Isapi有什么分别?
iis运行php有两种模式:isapi和fastcgi模式。
apache运行php有三种模式:cgi、fastcgi和apache模块。
============================================iis: php5.3以前的版本支持isapi和fastcgi模式,现在只支持fastcgi模式。
apache:php依然支持fastcgi、cgi、apache模块三种模式。
============================================iis如何配置支持上面两种模式:isapi模式配置方法:操作简单,网上搜搜。
注意:php5.3以前的版本支持。
php5.4和php5.5都不支持。
fast-cgi模式配置方法:这个模式的配置,需要下载 fcgisetup_1.5_x86_这个软件,才能是iis支持如何配置支持上面三种模式:apache模块模式文件添加下面代码:LoadModule php5_module c:/php/-cgi模式文件添加下面代码:Action application/x-httpd-php C:/php/注意:更改相应的路径。
cgi模式:由于现在很少使用,不用过多了解。