2016-11-27 127 views
0

你好

我有一个LAMPP网络服务器。我试图打开名为“Hello.cgi”的CGI脚本。LAMPP - CGI脚本不工作

它包含:

#!/usr/bin/perl 
print "Hello World.\n"; 

的路径是:/opt/lampp/htdocs/dashboard/cgi-bin/hello.cgi

当我打开:“127.0.0.1/dashboard/cgi -bin/hello.cgi“,我得到如下:

服务器错误!

服务器遇到内部错误,无法完成您的请求。

错误消息: 结束前头输出脚本的:hello.cgi

如果你认为这是一个服务器错误,请与网站管理员联系。

CGI脚本是用Perl编写的。

如果您需要更多关于我的问题的信息,请说出来。

~~ runasas

+0

基本上有100种不同的事情可能是错误的。你检查了服务器日志吗?你有没有尝试从命令行运行脚本?你是否发送任何HTTP头文件? –

+0

@MattJacob我现在在命令行中运行它,它工作。谢谢! – runasas

+0

是的,但是......这只是证实脚本本身没有错。 –

回答

0

首先,你不应该不包括线use strict;use warnings;写一个Perl程序。其次,如果您在使用CGI程序时遇到问题,您应该检查Web服务器错误日志以获取有关该问题的更多详细信息。

第三,CGI程序的输出需要包含内容类型标题。所以,你需要添加以下内容:

print "Content-Type: text/plain\015\012\015\012"; 

这变得更容易,如果你使用CGI module

use CGI; 
print header('text/plain'); 

但实际上,在2016年,你不应该编写CGI程序 - 有可用plenty of good alternatives