LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 871|回复: 10

关于APACHE2中CGI的问题

[复制链接]
发表于 2003-7-28 19:01:17 | 显示全部楼层 |阅读模式
我想问一下,为什么我启动HTTPD,说明上明明说:
Apache is a World Wide Web server.  It is used to serve HTML files and CGI.

是可以运行CGI了。

可我打开http://127.0.0.1/cgi-bin/test.cgi
却出现:

Server error!

    The server encountered an internal error and was unable to complete your request.

    Error message:
    Premature end of script headers: test.cgi

    If you think this is a server error, please contact the webmaster

Error 500


有谁能帮帮我吗?我用的是REDHAT9,权限我已加为777,NOBODY

APACHE
mod_perL 默认安装


我的test.cgi 程序如下:

#!/usr/bin/perl

print "Content-type: text/html\n\n";

print "Hello, World.";


在2003下运行TEST。CGI成功的。没有问题啊。在REDHAT下就不行!
 楼主| 发表于 2003-7-28 19:04:01 | 显示全部楼层
如果在APACHE上实在没办法,我只好用以前的REDHAT7.3上边的APACHE1试试了。

希望哪位朋友帮帮我啊
 楼主| 发表于 2003-7-30 22:41:30 | 显示全部楼层

帮帮我吧

我调试了快半个月了。书也找了不少。还是不行哟
发表于 2003-7-30 22:53:00 | 显示全部楼层
Error message:
Premature end of script headers: test.cgi

检查perl安装的路径何指定的路径是否一致。
which perl
发表于 2003-8-1 11:47:51 | 显示全部楼层
500问题好像很多人都会有的样子,但是目前关于这方面的文章不多,几乎所有回答问题的人都会说你perl路径不对,但其实,perl路径几乎总是/usr/bin/perl,不大会错的。
我已经检查过无数遍了,没有用处,这个问题也困扰了我一个月。
发表于 2003-8-1 12:04:53 | 显示全部楼层
那我就简单总结一下造成500 server error的几种最常见的错误:

(1)
#!/usr/bin/perl
路径错。 可以用which perl 来检测perl的路径。

(2)
上传编码错。
CGI的文件必须使用ASCII形势上传,不得使用binary格式。
binary格式只适用于压缩文件,图形文件,etc...

(3)
文件属性错
运行CGI程序最低要有一般用户的可读属性。建议 chmod 755 file.cgi

如果以上可能性全都不是,我提供一个test.cgi,用来检测。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2003-8-1 16:27:53 | 显示全部楼层

谢谢各位

我搞好了,是PERL。CONF的路径和HTTPD。CONF的路径不一致,我改后现在好用了,PERL。CONF默认安装路径为/var/www/perl/
和HTTPD。CONF指向不一样,/var/www/cgi-bin/
改为一样的加上权限777,NOBODY,就行了,
不过这样安全吗?
发表于 2003-8-1 16:40:33 | 显示全部楼层
为什么我没能找到perl.conf?
我用的是debian。
 楼主| 发表于 2003-8-1 17:10:07 | 显示全部楼层
呵呵。不知了。在MDK下边装上就可以直接执行CGI的了。
REDHAT这么麻烦
发表于 2003-8-1 17:27:15 | 显示全部楼层
试过了,把check.cgi放到cgi-bin目录下,出现如下提示:


Can not find (test.cgi).
--------------------------------------------------------------------------------

5.008

--------------------------------------------------------------------------------
CGIROOM


如果把check.cgi拷一份为test.cgi,则无论键入check.cgi还是test.cgi,都长时间无法调出页面。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表