php一共分为五大运行模式:
cgi fast-cgi cli isapi apache 模块的 DLL
cgi:
CGI即通用网关接口(Common Gateway Interface),它是一段程序, 通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,
它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。
CGI 的跨平台性能极佳,几乎可以在任何操作系统上实现。
每有一个用户请求,都会激活一个CGI进程,当用户请求数量非常多时,会大量挤占系统的资源如内存,CPU时间等,造成效能低下。
Isapi:
ISAPI即Internet Server Application Program Interface,是微软提供的一套面向Internet服务的API接口
一个ISAPI的DLL,可以在被用户请求激活后长驻内存,等待用户的另一个请求,还可以在一个DLL里设置多个用户请求处理函数,此外,
ISAPI的DLL应用程序和WWW服务器处于同一个进程中,效率要显著高于CGI。(由于微软的排他性,只能运行于windows环境)
fast-cgi:
fast-cgi 是cgi的升级版本,FastCGI 像是一个常驻 (long-live) 型的 CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去 fork 一次 (这是 CGI 最为人诟病的 fork-and-execute 模式)。
(该运行模式只可用户生产环境,至于原因大家可以仔细研究一番,这里我做一些基础的分享,有兴趣的同学也可以关注我本季度的分享培训)
cli:
cli是php的命令行运行模式,大家经常会使用它,但是可能并没有注意到(例如:我们在linux下经常使用 "php -m"查找PHP安装了那些扩展就是PHP命令行运行模式;
有兴趣的同学可以输入php -h去深入研究该运行模式)
apache模块的DLL:
该运行模式是我们以前在windows环境下使用apache服务器经常使用的,而在模块化(DLL)中,PHP是与Web服务器一起启动并运行的。(是apache在CGI的基础上进行的一种扩展,加快PHP的运行效率)
总结:
每种运行模式都有自己的优缺点,没有绝对的好与坏,主要是看大家处理何种环境。
php五大运行模式
最新推荐文章于 2018-03-21 13:04:32 发布