[值得了解]php五大运行模式

jackxiang 2011-9-2 17:04 | |
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的运行效率)
总结:
每种运行模式都有自己的优缺点,没有绝对的好与坏,主要是看大家处理何种环境。

来源:http://jackxiang.com/admin.php?act=edit

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/4596/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2011-9-3 09:48
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]