cgifastCGIphp-fpm php-CGI的区别

Posted loveing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cgifastCGIphp-fpm php-CGI的区别相关的知识,希望对你有一定的参考价值。

cgi、fastCGI、php-fpm、 php-CGI的区别

 

作为面试的高频热点问题,必须来一波记录:

我们发送一个请求到收到响应之间的一个过程是什么?

  如果客户端请求的是 index.html,那么服务器r去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。

技术图片

 

  如果我们请求的是index.php,那么服务器收到请求后分析出这是一个动态文件,然后区启动对应的CGI程序这里就是PHP的解析器,解析器首先解析我们的php.ini文件,初始化执行环境,然后解析index.php页面,解析完毕后,以cgi规定的格式返回给服务器,然后退出程序,服务器将结果返回给客户端。

技术图片

 

 这就是一个完整的动态PHP Web访问流程。接下来理解概念:

  • CGI:是 服务器 与 应用程序 之间数据交换的一种协议。
  • FastCGI:同 CGI,是一种通信协议,但比 CGI 在效率上做了一些优化。同样,SCGI 协议与 FastCGI 类似。
  • PHP-CGI:是 PHP (Web Application)对 Web Server 提供的 CGI 协议的接口程序。
  • PHP-FPM:是 PHP(Web Application)对 Web Server 提供的 FastCGI 协议的接口程序,额外还提供了相对智能一些任务管理。

 

以上是关于cgifastCGIphp-fpm php-CGI的区别的主要内容,如果未能解决你的问题,请参考以下文章

请问windows下如何管理php-cgi进程

windows 使用 xxfpm 解决 php-cgi 进程自动关闭

500次访问之后php-cgi进程退出

一个php-cgi占用系统多大内存

php-cgi.exe

PHP-CGI进程占用过多CPU