我有一个perl cgi脚本,完全如下:
#!/usr/bin/perl -w
use CGI;
$query = new CGI;
print $query->redirect("http://www.yahoo.com");
在命令行上看起来没问题:
$perl test.pl
Status: 302 Moved
Location: http://www.yahoo.com
当我在浏览器http://localhost/cgi-bin/test.pl
中加载它时,请求被中止,并且根据浏览器我收到各种消息:
服务器重置连接。
未收到任何数据。
我能在这个问题上找到的唯一研究表明,一个常见的问题是在重定向呼叫之前打印一些数据或标题,但我显然不是这样做的。
我是使用默认的slinger服务器从QNX盒子托管它。
答案 0 :(得分:2)
代码在我的机器上运行正常,请查看以下内容
打印标准hello世界有效吗?将您的打印语句更改为
print $query->header(), 'Hello World';
添加以下内容以获得更好的错误
use warnings;
use diagnostics;
use CGI::Carp 'fatalsToBrowser';
答案 1 :(得分:0)
在命令行use slinger
将返回一些基本使用选项。对于日志记录,您需要在slinger中启用syslogd和-d。即
荡妇-d&
然后查看/ var / log / syslog中的错误