PERL CGI 常见问题

发表于:2007-06-11来源:作者:点击数: 标签:
一、CGI 简介 CGI是 Common Gateway Interface 的简称。其主要的功能是在WWW环境下,藉由从客户端传递一些讯息给WWW Server,再由 WWW Server 去启动所指定的程式码来完成特定的工作 。 所以更明确的说,CGI仅是在WWW Server上可执行的程式码,而她的工作就是
一、CGI 简介

CGI是 Common Gateway Interface 的简称。其主要的功能是在WWW环境下,藉由从客户端传递一些讯息给WWW Server,再由 WWW Server 去启动所指定的程式码来完成特定的工作 。

所以更明确的说,CGI仅是在WWW Server上可执行的程式码,而她的工作就是控制讯息要求而且产生并传回所需的文件。

二、关于 #!/usr/bin/perl

在PERL CGI中,第一行必须是服务器上PERL解释器的位置,一般是#!/usr/bin/perl,注意,前面的#!不能去掉,这个如有不明,要向管理员询问。

如果是在WIN95/NT的机上装了PERL解释器(如ActivePerl、Perl For Win32),在CGI中不用专门定义PERL解释器位置了,就保留#!/usr/bin/perl就行了,或者如果%path%环境变量中有PERL的路径的话,就写#!perl也可以。

三、关于CGI上传的方式

上传CGI文件一定要用ASCII方式,不然执行时会出现500 Internal Server Error的出错提示,许多FTP软件的AUTO上传方式里关于*.CGI、*.PL的上传方式都定义了BINNARY方式,一定要设为ASCII方式上传或在ASCII FILES的定义中添加*.CGI、*.PL的定义。特别地,在WIN95/NT中不用改CGI、HTML、目录的属性。

四、关于CGI程序的属性

在Unix Like的服务器中(95/NT除外),CGI程序的属性一定要设为可执行(755),才能正常执行,而与CGI有关的HTML文件、数据文件、目录等,如要被CGI程序写入的,一定要设为可写(666)。那么,什么是755属性,什么是666属性

呢?

在Bullet Proof FTP软件中,在远程文件或目录上用MOUSE右键按一下,在属性一项,有OWNER、GROUP、 PUBLIC 三项

OWNER GROUP PUBLIC 说明

Read Read Read 此项如选中,值为4

Write Write Write 值为2

Execute Execute Execute 值为1

属性755

OWNER 下的READ、WRITE、EXECute都要选中,它们的值加起来等于7。

GROUP 下的READ、EXECute选中,值加起来等于5

PUBLIC下的READ、EXECute选中,值加起来等于5

这样就是755了,明白了吗?那么666不用我说了。 

五、关于绝对路径和相对路径

绝对路径就是你的主页上的目录在硬盘上真正的路径,相对路径其实就是URL。

六、关于PERL CGI程序调试的简单方法

如果在自已的PWIN95/98/NT系统装了WEB SERVER(如APACHE)和PERL解释器(如ActivePerl)后,调试PERL CGI程序就较方便,容易发现错误。如果在Web Server 中出现500 Internal Server Error,可进入 MS-DOS窗口,再转到该CGI的目录,打 perl 文件名.cgi 就可以根据出错提示判断错误在哪里。

原文转自:http://www.ltesting.net

...