为什么这个perl cgi脚本没有重定向?

时间:2014-10-13 19:05:25

标签: perl cgi qnx

我有一个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盒子托管它。

2 个答案:

答案 0 :(得分:2)

代码在我的机器上运行正常,请查看以下内容

  • 检查错误日志,例如:tail / var / log / http / error_log
  • chmod / chown权限是否与其他正在运行的CGi脚本匹配,请使用ls -l <​​/ li>进行比较
  • 打印标准hello世界有效吗?将您的打印语句更改为

    print $query->header(), 'Hello World';
    
  • 添加以下内容以获得更好的错误

    use warnings;
    use diagnostics;
    use CGI::Carp 'fatalsToBrowser';
    

答案 1 :(得分:0)

在命令行use slinger将返回一些基本使用选项。对于日志记录,您需要在slinger中启用syslogd和-d。即 荡妇-d&amp; 然后查看/ var / log / syslog中的错误