1

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 のコメントを外した場合。その後、エラーが発生します。セッション変数を使用したいので、そのファイルをインポートする必要があります。問題を解決するには?

4

1 に答える 1

0

要求どおりに fatalsToBrowser を取得していないように見えるため、コマンド ラインからプログラムを実行し、どこに取得されるかを確認する必要があります。

そうする:

$ /usr/local/bin/perl yourscriptname

表示されるエラー メッセージを確認します。

エラーが実際には CGI::Session にない場合に備えて、プログラムを制御するために、デバッガーを使用します。

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

本当のエラー メッセージが表示されたら、問題の解決をお手伝いします。

于 2012-05-31T18:32:47.493 に答える