PHP CGI】的更多相关文章

本文转载自CGI与FastCGI 1.当我们在谈到cgi的时候,我们在讨论什么 最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html.事物总是不 断发展,网站也越来越复杂,所以出现动态技术.但是服务器并不能直接运行 php,asp这样的文件,自己不能做,外包给别人吧,但是要与第三做个约定,我给你什么,然后你给我什么,就是握把请求参数发送给你,然后我接收你的处 理结果给客户端.那这个约定就是 common gateway inter…
当我们在谈到cgi的时候,我们在讨论什么 最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html.事物总是不 断发展,网站也越来越复杂,所以出现动态技术.但是服务器并不能直接运行 php,asp这样的文件,自己不能做,外包给别人吧,但是要与第三做个约定,我给你什么,然后你给我什么,就是握把请求参数发送给你,然后我接收你的处 理结果给客户端.那这个约定就是 common gateway interface,简称cgi.这个协议可以用v…
CGI 通用网关接口(Common Gateway Interface/CGI)是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据.CGI描述了服务器和请求处理程序之间传输数据的一种标准. CGI程序可以用任何脚本语言或者是完全独立编程语言实现,只要这个语言可以在这个系统上运行. 摘自维基百科 一句话总结: 一个标准,定义了客户端服务器之间如何传数据 FastCGI 快速通用网关接口(Fast Common Gateway Interface/FastCGI…
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法.servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet. 概括来讲,Servlet可以完成和CGI相同的功能. C…
fastcgi与cgi的区别 先讲下cgi:cgi在2000年或更早的时候用得比较多, 以前web服务器一般只处理静态的请求,如果碰到一个动态请求怎么办呢?web服务器会根据这次请求的内容,然后会fork一个新进程来运行外部c程序(或perl脚本...), 这个进程会把处理完的数据返回给web服务器,最后web服务器把内容发送给用户,刚才fork的进程也随之退出. 如果下次用户还请求改动态脚本,那么web服务器又再次fork一个新进程,周而复始的进行. 后来出现了一种更高级的方式是, web服务…
cgi是一个协议,它规定了服务器Nginx会将那些数据传送给PHP-cgi fastcgi也可以说是一个协议.fastcgi是对cgi的性能的一次提高.fastcgi会先启动一个master,解析配置文件(php.ini等),初始化执行环境,然后再启动多个worker,当请求过来时,master会传递给一个worker,然后等待下一个请求. php-fpm是实现了fastcgi这个协议的程序,用来管理php-cgi的(php-fpm是fastcgi进程管理器) php-cgi是解释php程序的…
1) CGI概念CGI即通用网关接口(Common Gateway Interface),它是一段程序,运行在服务器上,提供同客户端HTML页面的交互,通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页. 2)ISAPI即Internet Server Application Program Interface,是微软提供的一套面向Internet服务的API接口,它能实现CGI能提供的全部…
CGI(通用网关接口,Common Gateway Interface) CGI是Web服务器与请求处理程序之间传输数据的一种标准,保证Web服务器传递过来的数据是标准格式的,其程序须运行在网络服务器上.CGI可以用任何一种语言编写,只要这种语言具有标准输入.输出和环境变量.工作原理:每当客户请求CGI的时候,WEB服务器就请求操作系统生成一个新的CGI解释器进程(如:PHP-CGI),当CGI满足要求后,WEB服务器就杀死这个进程.Web服务器(如:Nginx)只是内容的分发者,如果请求/in…
最近公司要做一个通讯管理机,然后需要和另外一个同事一起做,我们需要用到boa+Ajax+CGI,以前没试过与CGI交互,一开始发现问题挺大的,用ajax请求cgi,总是不返回数据,又或者请求回来的是cgi的源码,后来发现,通过本地IIS或者直接打开html页面请求的,返回来的都是cgi的源码或者返回失败.         后来我们把html放到boa上,然后cgi相应的放到boa上,后来再试,就可以了.总结一下:做boa+ajax+cgi要在服务器上进行,不能通过IIS(也许是我的IIS没配置好…
网上示例(记得引用Jquery): [html] view plaincopy var jsonstr = '{"total":1,"rows":[{"id":"M000005","name":"检测设备","sortid":3,"valid":"1","handler":"系统管理员"}…
以下PHP CGI.Fastcgi.PHP-FPM的一些信息归纳和汇总----->详细介绍与之间的关系 一:CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的 web server(比如说nginx)只是内容的分发者.比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据.好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解析器来处理,那么他会把…
先了解一下普通cgi的工作流程: web server收到用户请求,并把请求提交给cgi程序,cgi程序根据请求提交的参数作相应处理,然后输出标准的html语句返回给web server,web server再返回给客户端,这就是普通cgi的工作原理. 从 上面看,cgi所要实现的不过是动态网页而已,这种处理方式的特点就是每接到一个请求,web server都要fork出一个单独的cgi程序的进程来处理,这种方式的好处是把web server和具体的程序处理独立开来,结构清晰,可控性强,同时缺点…
什么是CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上. CGI可以用任何一种语言编写,只要这种语言具有标准输入.输出和环境变量.如php,perl,python,tcl等 什么是FastCGI FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-exec…
PHP能不能成功的在Apache服务器上运行,就看我们如何去配置PHP的运行方式.PHP运行目前为止主要有三种方式: a.以模块加载的方式运行,初学者可能不容易理解,其实就是将PHP集成到Apache服务器,以同一个进程运行. b.以CGI的方式运行,CGI英文叫做公共网关接口,就是Apache在遇到PHP脚本的时候会将PHP程序提交给CGI应用程序(php-cgi.exe)解释,解释之后的结果返回给Apache,然后再返回给相应的请求用户. c.以FastCGI的方式运行.这种形式是CGI的加…
想实践下Apache是如何运行cgi程序的,却发现先前编译安装Apache的时候,没有安装Apache的cgi模块. 附:CentOS6.x编译安装LAMP(2):编译安装 Apache2.2.25 此时,从 httpd.conf 文件中可看到如下模块被动态加载(没有cgi模块): LoadModule deflate_module modules/mod_deflate.so LoadModule expires_module modules/mod_expires.so LoadModule…
详细错误:HTTP 错误 404.2 - Not Found. 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面. 出现环境:win7 + IIS7.0 解决办法:IIS的根节点->右侧“ISAPI和CGI限制”->把禁止的DotNet版本项设置为允许 伪静态添加了ISAPI筛选器后如果不起作用,就检查这个地方是否为启用的状态!…
windows下,使用c写了一个简单的cgi程序,生成exe类型的可执行文件,代码如下: #include<stdio.h> int main() { printf("Content-Type:text/html\n\n"); printf("Hello,world!\n"); ; } 怎样使apache加载生成的exe文件?只需要两步即可实现: 1.配置cgi程序所在目录 2.使apache能该识别exe文件 对应到apache的配置文件分别为: A:…
修改conf下的httpd.conf; 1:Listen和ServerName修改为相同的端口号,如8066 2:ScriptAlias就让他留在原位置,"${SRVROOT}/cgi-bin/"这个值不用改就好.但是要把脚本文件如.py文件放到例如D:/Apache24/cgi-bin目录下. 3:${SRVROOT}/的意思就是D:/Apache24/ 4:ScriptAlias下面的第一个Directory节点,值和ScriptAlias的值相同,都是"${SRVROO…
用cgi向文本或者数据库写入数据 1.开启cgi服务 python -m http.server  --cgi port[端口可选默认为8000] update.py代码 #coding:utf8import cgic = cgi.FieldStorage()#获取表单参数try: data1 = c['mem'].value#获取表单中mem的值 data2 = c['cpu'].value#获取表单中cpu的值except KeyError:#如果没获取到数据,就把数据设置为空 data1…
CGI概括: 定义 通用网关接口(Common Gateway Interface)是HTTP服务器与你的或其它机器上的程序进行"交谈"的一种工具,其程序须运行在网络服务器上. 功能 绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器.CGI程序使网页具有交互功能. 运行环境 CGI程序在UNIX操作系统上CERN或NCSA格式的服务器上运行.在其它操作系统(如:windows NT及windows95等)的服务器上也广泛地使用C…
在编程学习网站学习Python语言,学习到cgi编程章节遇到了一些小问题,课程介绍的为linux环境的Apache配置方法,具体如下: [linux环境配置方法:] 在进行CGI编程前,确保您的Web服务器支持CGI及已经配置了CGI的处理程序. Apache 支持CGI 配置: 设置好CGI目录: ScriptAlias /cgi-bin/ /var/www/cgi-bin/ 所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录.这个目录被称为CGI目录,并按照惯例,它被命名为/var…
CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上. CGI可以用任何一种语言编写,只要这种语言具有标准输入.输出和环境变量.如php,perl,tcl等. FastCGI FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式).它还支持…
详细错误:HTTP 错误 404.2 - Not Found. 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面. 出现环境:win7 + IIS7.0 解决办法:IIS的根节点->右侧“ISAPI和CGI限制”->把禁止的DotNet版本项设置为允许,即可~…

CGI

CGI的工作原理一般是这么定义的: 客户端web浏览器浏览某个主页后,利用一定的方式提交数据,并通过HTTP协议向Web服务器发出请求,服务器端的HTTP Daemon(守护进程)将描述的主页信息通过标准输入stdin和环境变量(enviroment variable)传递给主页指定的CGI程序,并启动此应用程序进行处理(包括数据库处理),处理结果通过标准输出stdout返回给HTTP Daemon守护进程,再由HTTP Daemon进程通过HTTP协议返回给客户端浏览器,由浏览器解析执行,将最…
1. 下载 在HTTPD主页,找到"mod_fcgid" 下载“mod_fcgid-2.3.9-crlf.zip” 2. 生成so文件 首先,设置APACHE2_HOME系统变量. 在系统变量新建APACHE2_HOME. 然后,使用VC6+编译器打开“mod_fcgid.dsw”,"build"即可. VC6以上版本打开时的对话框,点“Yes”即可. 最后,安装mod_fcgid. (1) 拷贝mod_fcgid.so到$APACHE2_HOME\modules下…
tomcat默认没有开启cgi支持,因此有了tomat开启cgi的探索.因为原本对tomcat没多了解,所以中间或多或少走了点弯路.还好最终配置成功了,现在jy也用上这个方法了.    该方法在apache-tomcat-7.0.35上通过(jy提供的). 二.配置方法  * 修改conf/web.xml文件 1. 去掉默认的cgi servlet 注释 <servlet> <servlet-name>cgi</servlet-name> <servlet-cla…
相关文档“https://segmentfault.com/q/1010000000256516%20” 一.什么是cgi cgi是一个协议,这个协议规定我们web服务器访问的时候,nginx和php代码执行(也可以说是浏览器和服务器)之间交互的一些数据格式的准则. 比如nginx收到请求后,要传递哪些给Php,什么头文件啊.url啊,参数啊等等. 二.fast-cgi是什么鬼 fast-cgi是cgi的一个牛逼版本,cgi的准则中,规定了nginx传递哪些参数给php,也规定了php要怎么做(…
IIS7.5中将一网站应用程序池托管管道模式改为经典后,网站页面打不开,错误信息: 引用内容 HTTP 错误 404.2 - Not Found由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面. 解决方法 打开IIS7.5,左侧选择根节点,在功能视图中找到"ISAPI和CGI限制"并打开,将网站应用程序池对应.NET Framework版本设置为允许即可:  …
Ubuntu好像是直接支持的,现在回到Debian有点不适应了.需要人工配置一下: 一.mod-python 安装模块:apt-get install libapache2-mod-python 编辑文件:/etc/apache2/sites-available/000-default 增加如下内容: <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,de…
一.Apache的安装 在终端输入: sudo apt-get install apache2 二.启动.停止Apache服务 Apache的启动和停止文件是:/etc/init.d/apache2 启动服务 sudo apache2ctl -k start 停止服务 sudo apache2ctl -k stop 重启服务 sudo apache2ctl -k restart 或 sudo /etc/init.d/apache2 restart 三. 配置文件的结构 The configura…