CGI程序的功能:首先Nginx等webserver向这个CGI程序请求某个页面,如果该页面存在,CGI程序就会去获取那个页面的原始数据,然后把它转换成HTML并把结果返回给webserver进而输出给用户浏览器.
PHP等只要能够处理文本的语言都可以用于编写CGI程序.
PHP-CGI是PHP支持CGI标准的执行档.
传统CGI需要为每个访问开一个操作系统进程,导致负荷很大.基本在服务器部署上已经不采用CGI.现在主要应用Fast-CGI标准
一般的网页服务架构是这样的:
浏览器
|
网站服务器(apache,?nginx等)?只支持静态内容(html,?图片,文件)
|??\
CGI?Fast?CGI?(两种编程规范,按照特定的方式读输入,写输出.也叫协议.)
|??|
任何语言?任何语言?(按照上面的规范来写代码,提供动态内容,比如读写数据库,根据数据库展示不同内容)
任何语言中就包括了php
其中CGI的方式就是,网站服务器会把CGI程序当成普通的程序一样调用,然后把CGI程序的标准输出流作为内容返回给浏览器.每来一个请求,就要启动一个CGI程序.所以php可以直接加上可执行属性(仅linux),就可以让网站服务器调用.缺点是响应慢而且占用内存多(每次启动程序的消耗较大).
而FastCGI的方式就是,网站服务器通过socket跟FastCGI程序获取输入输出.FastCGI程序会启动一个程序一直运行并监听端口.每来一个请求,不需要再启动新的程序.php提供了php-fpm这个东东来监听端口.
以上就是土嘎嘎小编为大家整理的php与cgi的关系相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!