Когда я добавляю 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; то его выдающая ошибка. Мне нужно импортировать этот файл, потому что я хочу использовать переменную сеанса. как решить проблему?
Поскольку вы, по-видимому, не получаете fatalsToBrowser по запросу, вам нужно запустить программу из командной строки и посмотреть, где она находится.
Сделай так:
$ /usr/local/bin/perl yourscriptname
Посмотрите, какие сообщения об ошибках вы получите.
Я бы использовал отладчик, чтобы иметь контроль над программой, если ошибка не в CGI :: Session.
$ /usr/local/bin/perl -d yourscriptname
Как только мы увидим истинное сообщение об ошибке, мы можем помочь вам исправить проблему.