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)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。