码迷,mamicode.com
首页 > Web开发 > 详细

Web server和php结合的三种模式

时间:2015-07-04 16:54:45      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:web server

CGI(Common Gateway Interface)模式

当客户端请求web server中的动态内容的时候,动态文件需要通过cgi启动独立进程也就是php解释器进行处理,PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以CGI规定的格式返回处理后的结果,最后退出进程,web server再把结果返回给客户端。现在基本已经不用这种方式了,因为对于每个动态请求都要额外启动cgi进程,且每次都要解析一遍php.ini并初始化执行环境,处理完请求后销毁进程,这个过程大大降低了多请求处理性能

Module模块模式

在使用Apache为Web server的情况下,利用Apache的特性,DSO动态共享对象,将PHP作为Apache的模块,当需要解释php文件的时候,利用php_mod对动态文件进行解释,无需再启动额外的进程,缺点是进程内容复杂

Fastcgi模式

由于cgi性能上的缺陷,当请求到来时才新建进程,每次都要初始化执行环境,所以Fastcgi机制首先建立master进程,解析配置文件,初始化执行环境,之后再预先生成多个worker进程,当动态请求到来时,master将请求传递给其中的一个worker,再马上接收下一个请求,并动态地对worker进程数做调整,大大提高了性能。php5.4之后版本的内核已经集成了php-fpm( Fast php module)

技术分享



本文出自 “Call me Boxin” 博客,请务必保留此出处http://boxinknown.blog.51cto.com/10435935/1670847

Web server和php结合的三种模式

标签:web server

原文地址:http://boxinknown.blog.51cto.com/10435935/1670847

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!