导航:首页 > 编程语言 > phpcgi编程

phpcgi编程

发布时间:2022-07-01 21:22:49

A. ASP、php、JSP、ASP.net、CGI等,哪种比较好学,容易入门

最简单的是CGI,用什么都可以,只要能实现功能就行
其次asp
如果学过c,perl的话(你已经学会了CGI了,因为perl是最流行的CGI了)学php再容易不过
但是jsp就比较难,必须有http协议的基础,java语言的基础,以及一般脚本的基础,再说它一般都与某种应用结合,比如WEBSERVICE等

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

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

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

C. ASP、CGI、PHP是什么

一、CGI:Common Gateway Interface
CGI代表Common Gateway Interface(通用网关界面),它使在网络服务器下运行外部分应用程序(或网关)成为可能。CGI-BIN 目录是存放CGI脚本的地方。这些脚本使WWW服务器和浏览器能运行外部程序,而无需启动另一个原因程序。

它是运行在Web服务器上的一个程序,并由来自于浏览者的输人触发。CGI是在HTTP服务器下运行外部程序(或网关)的一个接口,它能让网络用户访问远程系统上的使用类型程序,就好像他们在实际使用那些远程计算机一样。

CGI能够让浏览者与服务器进行交互,如果你曾经遇到过在网络上填表或者进行搜索,就很有可能就是用的CGI。

尽管CGI易于使用,但是当大批人同时使用一个CGI应用程序是会反应较慢,网络服务器 速度也会受到很大 影响。CGI应用程序的优点是可以独立运行。

CGI应用程序可以由大多数的编程语言编写,如Perl(Practical Extraction and Report Language)、C\C++、Java 和Visual Basic等。不过对于那些没有太多编程经验的网页制作人来说,实在是一个不小的难题。

CGI应用程序的工作原理是这样的:

1.浏览器通过HTML表单或超链接请求指上一个CGI应用程序的URL。

2.服务器收发到请求。

3.服务器执行指定所CGI应用程序。

4.CGI应用程序执行所需要的操作,通常是基于浏览者输人的内容。

5.CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。

6.网络服务器把结果返回到浏览器中。

有关CGI应用程序要注意的是:

CGI应用程序运行在浏览器可以请求的服务器系统上,执行时需要使用服务器CPU时间和内存。如果有成千上万的这种程序会同时运行,那会对服务器系统提出极高的要求。你要慎重考虑这个问题,以防止服务器系统崩溃。

不完善的CGI应用程序可能成为别人非法进人服务器系统的通道,有可能导致重要的资料被删除或外泄。

CGI应用程序主要的用途有以下几种:

根据浏览者填写的HTML表单发送定制的答复。

创建可单击的图像缩小图。

创建一个浏览者可以搜索内容的数据库。

提供服务器与数据库的接口,并把结果转换成HTML文档。

制作动态HTML文挡。

如果一个CGI脚本可以在每台计算机上做同样的事情;编写脚本就会变的很容易。不幸的是,CGI脚本依赖于服务器的操作系统,因此,对于非UNIX服务器来说,Prl(UNIX下编写脚本的一个常用工具)脚本毫无用处。所以,你必须定制安装你的CGI脚本。

大多数服务器都提供CGI-BIN目录,但是这还不够。因为你应该拥有自己的CGI-BIN。这样,你就能运行自己的脚本(而不是让自己的系统去适应已存在于系统上的脚本)。因此,你的提供商应安装CGI-BIN,且能够帮助你编写脚本

二、ASP:Active Server Pages
ASP,活动服务器页面,就是一个编程环境,在其中,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。 如果你以前创建过一个站点,其中混合了HTML、脚本语言以及组件,你就可以在其中加入ASP程序代码。通过在HTML页面中加入脚本命令,你可以创建一个HTML用户界面,并且,还可以通过使用组件包含一些商业逻辑规则。组件可以被脚本程序调用,也可以由其他的组件调用。
ASP的工作原理:
当在Web站点中融入ASP功能后,将发生以下事情:
1、用户调出站点内容,默认页面的扩展名是.asp。
2、浏览器从服务器上请求ASP文件。
3、服务器端脚本开始运行ASP。
4、ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。
5、页面信息发送到浏览器。
因为脚本是在服务器端运行的,所以Web服务器完成所有处理后,将标准的HTML页面送往浏览器。这意味着,ASP只能在可以支持的服务器上运行。让脚本驻留在服务器端的另外一个益处是:用户不可能看到原始脚本程序的代码,用户看到的,仅仅是最终产生的HTML内容

三、PHP:Personal Home Page
PHP 是一种服务器端的,嵌入HTML的脚本语言。PHP区别其他像客户端Javascript的地方是它的代码在服务器端执行.PHP能做什么?
最低水平,PHP可以做任何其他CGI程序所能做的事,例如收集表格数据,生成动态页面内容,或者收发cookies.可能最强大,最有意义的特性是PHP支持大范围的数据库.书写一个支持数据库的Web 页面是难以置信的简单.
下面是当前支持的数据库:
Adabas D InterBase Solid
dBase mSQL Sybase
Empress MySQL Velocis
FilePro Oracle Unix dbm
Informix PostgreSQL
PHP通过协议也支持与其他服务的"交谈",像IMAP, SNMP, NNTP, POP3, 甚至是 HTTP. 你也可以打开晦涩的 网络接口和其他协议交互.
PHP的简要历史
1994年秋季, Rasmus Lerdorf 开始构思 PHP. 早期的非发行版本被用在他的主页上,以追踪谁在看他的在线简历. 1995年年初第一版本出台,当时PHP只被认为是个人主页开发工具.它由一个非常单纯的只能理解很少数特殊宏的分析引擎和 一些用在主页后端通用的工具组成.如留言簿,计数器和其他一些东西.这个分析器在1995年年中被重写并被命名为 PHP/FI 第二版. FI来自 Rasmus 写的另外一个包, 用于解释 html 形式的数据.他结合了个人主页工具脚本和形式解析器,并加 上mSQL支持.这样就产生 PHP/FI 了. PHP/FI以令人惊奇的步调成长,人们开始把自己的代码贡献给它.
很难给出它的硬统计表,但可以估计在1996年末,整个世界至少有15,000个网站在用PHP/FI.到1997年年中,这个 数字已经超过50,000了. 而在此时PHP的发展也发生了变化.由Rasmus自己偏爱的和几个人开发的项目变成一个更有组织的团 体成就.Zeev Suraski和Andi Gutmans重写了解析器.这个新的解析器成为PHP版本3的基础.许多有用的代码从PHP/FI 继承到PHP3,并且很多是完全重写的.
今天(1999年年中)不管是PHP/FI或PHP3与很多商业产品捆绑在一块,例如C2级强度的Web服务器和红帽子Linux. 根据NetCraft提供的数据推断,保守估计全世界应用PHP的网站已超过150,000个.由此看来,它比在因特网上运行Netscape 的旗舰企业服务器的站点还多.

D. 说“php-cgi是php的解释器”是针对web服务器而言还是php本身而言

cmd下的php命令只要你配置好系统变量就能够直接调用。

phpcgi是针对php本身的,web服务器则是能够调用phpcgi对php代码进行解析。比如IIS配置了FastCGI之后就可以支持PHP脚本;Apache配置文件写入相应的php文件路径之后,apache也可以支持php脚本。

E. php和perl各是什么东东哪个比较好用cgi和它们又是什么关系

CGI是WEB程序的一种运行方式,PERL主要是以CGI或者FAST-CGI方式工作,PHP可以以CGI或者FAST-CGI方式工作,但是PHP在APACHE下多数情况以MOD方式工作。
PHP和PERL都是常用的网页的编程工具,PERL除了用于网站开发,还大量用于脚本开发,黑客非常喜欢。PHP则主要用于网站开发,其它用途不是很普及。
PHP专为网站开发而设计的,数据库访问是长项,PERL本不是为WEB而生,完整网站开发需要使用一些扩展模块。

F. php和cgi之间的区别

cgi是一种接口,不管用什么语言都可以按照这个接口进行实现。一般服务器判断需要调用cgi程序前,会把请求的GET参数放在环境变量QUERY_STRING里,POST请求内容则通过标准输入流输送到cgi程序内。cgi程序只需要将HTTP协议(包括HTTP头和HTTP Body)打印到标准输出流stdout,服务器就会把它们直接传输给浏览器。

举个栗子:

//c++实现cgi接口,打印querystring和postdata
#include<iostream>

usingnamespacestd;

intmain(){
cout<<"Content-type:text/html ";
constchar*queryString=getenv("QUERY_STRING");
if(queryString!=NULL){
cout<<"<h1>querystringis:"<<queryString<<"</h1>"<<endl;
}else{
cout<<"<p>Noquerystring</p>"<<endl;
}

stringpostData,tmpData;
while(cin>>tmpData){
postData+=tmpData;
}
if(postData!=""){
cout<<"<div>"<<postData<<"</div>"<<endl;
}else{
cout<<"<p>Nopostdata</p>"<<endl;
}

return0;
}

把它编译好,命名为test.cgi,然后扔到服务器到cgi目录里。然后访问类似于http://localhost/cgi/test.cgi?a=b&c=d的URL,服务器就会把a=b&c=d放到QUERY_STRING环境变量中传给test.cgi。最后能看到页面上显示出query string is a=b&c=d。也可以创建一个表单,把数据POST到http://localhost/cgi/test.cgi,然后可以看到页面上显示出所有的POST data。


php是一种脚本语言,它可以用来做很多事。。。比如说用来写CGI程序:

#!/usr/envphp
<?php
echo"Content-type:text/html ";

$queryString=$_ENV("QUERY_STRING");
if($queryString!=NULL){
echo"<h1>querystringis:$queryString</h1>";
}else{
echo"<p>Noquerystring</p>";
}

$postData=file_get_contents("php://stdin");
if($postData!=""){
echo"<div>$postData</div>";
}else{
echo"<p>Nopostdata</p>";
}
?>

好吧它的功能跟上面C++写的程序一毛一样,我们把它加上“可执行属性”chmod +x testphp.cgi然后扔到cgi目录,然后访问http://localhost/cgi/testphp.cgi?a=b&c=d,以及用表单post数据给它,看到的效果应该是一样的。


所以你也看到了,服务器调用CGI程序,它才不管你用啥实现的,反正接口都定好了,只要按接口来编程就行。


但一般服务器调用PHP和调用CGI程序的逻辑不一样。CGI程序需要自己解析QUERY_STRING和POST_DATA,PHP应该是通过另一套扩展跟服务器交互的,所以一般用PHP直接写网页的时候,写网页的方式跟平时还真不太一样,比如说,服务器的php扩展已经帮我们把query string和post data解析成了数组,我们直接取值就好了:

<?php

if(isset($_GET)){
print_r($_GET);
}else{
echo"<p>Noquerystring</p>";
}

if(isset($_POST)){
print_r($_POST);
}else{
echo"<p>Nopostdata</p>";
}
?>

存成test.php之后访问http://localhost/test.php?a=b&c=d,或者表单提交内容到页面。可以看到输出的数据都是结构化的,已经变成数组了。而且,HTTP头也不需要我们自己输出了(特殊情况除外)。

阅读全文

与phpcgi编程相关的资料

热点内容
云服务器建设原理 浏览:256
javajunit4for 浏览:843
华为服务器如何进阵列卡配置 浏览:433
apache服务器ip地址访问 浏览:718
如何买到安卓手机预装软件 浏览:537
冤罪百度云不要压缩 浏览:85
苏州云存储服务器 浏览:173
解压收纳原声 浏览:384
java注册验证 浏览:374
火花app怎么上推荐 浏览:980
什么app能游戏投屏到电视上 浏览:455
服务器托管到云端是什么意思 浏览:835
app保存草稿怎么用 浏览:808
安卓如何进入proumb 浏览:144
主机虚拟云服务器 浏览:619
删除分区加密的空间会不会恢复 浏览:706
京东app客户上门怎么看搜索量 浏览:741
怎么在农行app购买黄金 浏览:46
c型开发板和单片机 浏览:146
虚拟机建立用户的模板文件夹 浏览:904