您的位置:

php与cgi的关系(php cgi模式)

本文目录一览:

CGI与php之间的关系是什么?

CGI程序的功能:首先Nginx等webserver向这个CGI程序请求某个页面,如果该页面存在,CGI程序就会去获取那个页面的原始数据,然后把它转换成HTML并把结果返回给webserver进而输出给用户浏览器。

PHP等只要能够处理文本的语言都可以用于编写CGI程序。

cgi是什么?php—cgi又是什么?这两个有什么关系

CGI是公共网关接口,是网站服务器进程经过操作系统和互联网客户端进行通讯的一套规范标准。

PHP-CGI是PHP支持CGI标准的执行档。

传统CGI需要为每个访问开一个操作系统进程,导致负荷很大。基本在服务器部署上已经不采用CGI。现在主要应用Fast-CGI标准

php和cgi是什么关系

一般的网页服务架构是这样的:

浏览器

   |

网站服务器(apache, nginx等)  只支持静态内容(html, 图片,文件)

   |        \

CGI      Fast CGI (两种编程规范,按照特定的方式读输入,写输出。也叫协议。)

   |         |

任何语言    任何语言  (按照上面的规范来写代码,提供动态内容,比如读写数据库,根据数据库展示不同内容)

任何语言中就包括了php

其中CGI的方式就是,网站服务器会把CGI程序当成普通的程序一样调用,然后把CGI程序的标准输出流作为内容返回给浏览器。每来一个请求,就要启动一个CGI程序。所以php可以直接加上可执行属性(仅linux),就可以让网站服务器调用。缺点是响应慢而且占用内存多(每次启动程序的消耗较大)。

而FastCGI的方式就是,网站服务器通过socket跟FastCGI程序获取输入输出。FastCGI程序会启动一个程序一直运行并监听端口。每来一个请求,不需要再启动新的程序。php提供了php-fpm这个东东来监听端口。