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

CGI 、PHP-CGI、FASTCGI、PHP-FPM

时间:2017-07-23 00:52:34      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:管理   nbsp   运行   步骤   index   php.ini   cgi   一个   解释器   

CGI是干嘛的?

  CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求的是/index/html,那么web server会去文件系统找到这个文件,发送给浏览器,这里分发的是静态数据。如果,请求的是/index.php,根据配置文件,nginx知道这不是一个静态文件,需要去找PHP解析器来处理,那么他会 把这个请求丢给PHP解释器,但是他如何跟PHP解释器进行沟通呢?CGI就是规定了他们之间沟通的协议。当PHP解析器处理完请求同理再以规定的CGUI格式返回处理后的结果,退出进程。web server 再将结果返回给浏览器。

 

PHP-CGI是什么呢?

  PHP-CGI是PHP自带的FastCGI管理器。已经弃用了,原因在于修改php.ini必须要重启才能生效,不支持平滑重启;另外一个原因在于,杀死php-cgi进程后,php就不能运行了。(PHP-FPM和Spawn-FCGI就没有这个问题,守护进程会平滑从新生成新的子进程。)

 

FASTCGI是什么?

  Fastcgi是用来提高CGI程序性能的。那么CGI程序的性能问题在哪呢?"PHP解析器会解析php.ini文件,初始化执行环境",就是这里了。标准的CGI对每个请求都会执行这些步骤,所以处理每个时间的时间会比较长。这明显不合理嘛!那么Fastcgi是怎么做的呢?其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。

 

PHP-FPM是什么呢?

  PHP-FPM是一个PHP FASTCGI管理器,只能用于PHP。

CGI 、PHP-CGI、FASTCGI、PHP-FPM

标签:管理   nbsp   运行   步骤   index   php.ini   cgi   一个   解释器   

原文地址:http://www.cnblogs.com/huixuexidezhu/p/7223257.html

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