Perl错误:写入CGI回复时发生错误

时间:2012-05-31 08:55:12

标签: html perl cgi

当我将use CGI::Session;添加到我的cgi文件时,我收到此错误:

  

编写CGI回复时发生错误

如果我评论该行正常工作。

我正在使用cPanel来托管我的网站。这个错误的原因是什么?这是否缺少托管服务提供商服务器上的CGI::Session模块?

如何解决此问题?

代码:

#!/usr/local/bin/perl 
use HTML::Template; 
use DBI;
use CGI;
use CGI::Carp qw/fatalsToBrowser warningsToBrowser/;
#use CGI::Session ;

#send the obligatory Content-Type
print "Content-Type: text/html\n\n"; 

$user = '*******';
$password = '********';

#$session = CGI::Session->load();
#$q = new CGI;

$db_handle = DBI->connect ('DBI:mysql:database=amdvsfre_justclick',$user,$password) 
or die "Couldn't connect to database: $DBI::errstr\n";

#set the value of SQL query

$sql_query = "SELECT t1.request_id, t1.request_message, t2.user_name, t2.user_city , COUNT(t3.request_id), t1.request_date, t1.request_time
FROM requests t1 INNER JOIN users t2 ON t1.user_id = t2.user_id
LEFT JOIN responses t3 ON t1.request_id = t3.request_id
GROUP BY t1.request_id desc" ;

 ...
 ...
 passing the query result in template file, so that it can be displayed on the browser

如果我取消注释#use CGI :: Session;然后它的给出错误。我需要导入该文件,因为我想使用会话变量。如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

由于您显然没有按要求获取fatalsToBrowser,因此您需要从命令行运行程序并查看它的位置。

这样做:

$ /usr/local/bin/perl yourscriptname

查看您收到的错误消息。

我会使用调试器来控制程序,以防错误实际上不在CGI :: Session中。

$ /usr/local/bin/perl -d yourscriptname

一旦我们看到真正的错误消息,我们就可以帮助您解决问题。