文档章节

PHP运行模式

麦拂沙
 麦拂沙
发布于 2015/11/03 03:07
字数 369
阅读 180
收藏 1

PHP常见的运行模式有5种:

1, CGI模式       

该模式下php独立于web server执行,互不影响,安全性和稳定性较高
但每次请求web server都需要fork出一个单独的cgi解释进程
cgi解释进程的反复加载会导致占用资源较多、性能低下,现在基本不用了

2, mod-php模式

作为ApacheModule注入到apache server中
web server会预生成多个解释进程做准备,运行效率较高

3, FastCGI模式

基于cgi架构拓展,其在web server与cgi解释器之间构建中间层作为进程管理器
其管理若干可复用的cgi子进程,cgi解释进程将长驻内存并根据请求来调度
这是最推荐的一种运行模式, 高效稳定、伸缩性、Fail-Over故障切换、平滑重载PHP配置、支持数据库长连接

该模式具体的实现包括:
* php-fpm(PHP最好的FastCGI管理器)
* php-cgi(PHP自带的FastCGI管理器)
* Spawn-FCGI(通用的FastCGI管理服务器)

4,CLI模式

命令行模式

5,ISAPI模式(PHP 5.3-)

运行于IIS上的模块注入模式,微软平台下的东西, 有排他性, 基本很少用

 

 

PHP获取运行模式

## 返回 web服务器 和 PHP 之间的接口类型, 小写字符串 ##
string php_sapi_name ( void )
#或者
常量 PHP_SAPI

 

以上五种模式的 PHP_SAPI 值分别为: cgi、apache2handler、cgi-fcgi、cli、isapi

 

 

© 著作权归作者所有

麦拂沙

麦拂沙

粉丝 22
博文 119
码字总数 108725
作品 1
海淀
高级程序员
私信 提问
php的生命周期

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

stone_
2016/10/21
100
0
PHPWAMP内置IIS管理器一键搭建PHP网站,支持无限个不同PHP版本同时运行

PHPWAMP内置功能强大的IIS站点管理,可同时运行多个PHP版本,站点管理可自定义添加PHP版本 支持Apache、Nginx、IIS多功能站点管理,后期我会在业余时间开发出更多实用功能,敬请关注。 使用方...

Lccee老师
2017/09/01
0
0
PHP版本VC6与VC9、Thread Safe与None-Thread Safe

如果你在apache1或者apache2下使用PHP,你应该选择VC6的版本 如果你在IIS下使用PHP应该选择VC9的版本 VC6的版本使用visual studio6编译 VC9使用Visual Studio 2008编译,并且改进了性能和稳定...

十七亮
2012/11/26
134
0
PHP工作模式详解

PHP运行模式有4钟: 先了解一下php的SAPI: php的4层结构图: php的工作模式就是与图中的SAPI有关: 关于sapi: Sapi全称是Server Application Programming Interface,也就是服务端应用编程接...

成越
2016/08/30
79
0
php CLI的使用与扩展安装

PHP SAPI(Server Application Programming Interface,服务端应用编程端口)支持里有一种叫CLI。CLI(Command Line Interface)是命令行模式是指php在命令行模式下运行。在Linux界面下,安装好...

熊猫88
2016/01/20
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

如何有效地计算JavaScript中对象的键/属性数量?

计算对象的键/属性数的最快方法是什么? 是否可以在不迭代对象的情况下执行此操作? 即不做 var count = 0;for (k in myobj) if (myobj.hasOwnProperty(k)) count++; (Firefox确实提供了一...

技术盛宴
25分钟前
3
0
百度网址安全中心拦截解除的办法分享

临近2019年底,客户的公司网站被百度网址安全中心拦截了,公司网站彻底打不开了,影响范围很大,于是通过朋友介绍找到我们SINE安全公司寻求帮忙解封,关于如何解除百度的安全拦截提示,下面就...

网站安全
36分钟前
3
0
Tomcat8源码分析-启动流程-start方法

上一篇:Tomcat8源码分析-启动流程-load方法 前面讲了启动流程中的Catalina.load,进一步调用绝大部分组建的init操作,主要完成对server.xml解析,并根据解析的结果结合设置的Rule(规则)构造...

特拉仔
44分钟前
6
0
Xamarin.FormsShell基础教程(7)Shell项目关于页面的介绍

Xamarin.FormsShell基础教程(7)Shell项目关于页面的介绍 轻拍标签栏中的About标签,进入关于页面,如图1.8和图1.9所示。它是对应用程序介绍的页面。 该页面源自Views文件夹中的AboutPage.x...

大学霸
51分钟前
3
0
一步一步理解Impala query profile(一)

很多Impala用户不知道如何阅读Impala query profile来了解一个查询背后正在执行的操作,从而在此基础上对查询进行调优以充分发挥查询的性能。因此我想写一篇简单的文章来分享我的经验,并希望...

九州暮云
52分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部