为什么我的Perl CGI程序会因“软件错误:…”而失败?

为什么我的Perl CGI程序会因“软件错误:…”而失败?,perl,cgi,Perl,Cgi,当我尝试运行Perl CGI程序时,返回的网页告诉我: 软件错误:如需帮助,请向网站管理员发送邮件root@localhost,给出此错误消息以及错误的时间和日期 以下是我在其中一个文件中的代码: #!/usr/bin/perl use lib "/home/ecoopr/ecoopr.com/CPAN"; use CGI; use CGI::FormBuilder; use CGI::Session; use CGI::Carp (fatalsToBrowser); use CGI::Se

当我尝试运行Perl CGI程序时,返回的网页告诉我:

软件错误:如需帮助,请向网站管理员发送邮件root@localhost,给出此错误消息以及错误的时间和日期

以下是我在其中一个文件中的代码:


#!/usr/bin/perl

use lib "/home/ecoopr/ecoopr.com/CPAN";
use CGI;
use CGI::FormBuilder;
use CGI::Session;
use CGI::Carp (fatalsToBrowser);
use CGI::Session;
use HTML::Template;
use MIME::Base64 ();
use strict;

require "./db_lib.pl";
require "./config.pl";

my $query = CGI->new; 
my $url = $query->url();
my $hostname = $query->url(-base => 1);
my $login_url = $hostname . '/login.pl';
my $redir_url = $login_url . '?d=' . $url;
my $domain_name = get_domain_name();

my $helpful_msg = $query->param('m');
my $new_trusted_user_fname = $query->param('u');
my $action = $query->param('a');
$new_trusted_user_fname = MIME::Base64::decode($new_trusted_user_fname);

####### Colin: Added July 12, 2009 #######
my $view = $query->param('view');
my $offset = $query->param('offset');
####### Colin: Added July , 2009 #######

#print $session->header;
#print $new_trusted_user;

my $helpful_msg_txt = qq[];
my $helpful_msg_div = qq[];
if ($helpful_msg)

您看到的“请向网站管理员发送邮件”消息是web服务器在出现任何问题且没有任何处理措施时向您发送的一般消息。就解决实际问题而言,这一点都不有趣。检查错误日志以查找程序中可能的相关错误输出

并且,请仔细阅读我关于发现问题的建议

我的猜测是,你有一个语法错误与悬挂如果。您发布的不是有效的Perl程序


祝您好运,

您看到的“请向网站管理员发送邮件”消息是一条通用消息,当出现任何问题且没有任何处理方法时,web服务器会向您发送该消息。就解决实际问题而言,这一点都不有趣。检查错误日志以查找程序中可能的相关错误输出

并且,请仔细阅读我关于发现问题的建议

我的猜测是,你有一个语法错误与悬挂如果。您发布的不是有效的Perl程序


祝你好运,

这与suexec模块有关吗

suExec配置不当可能导致权限错误

suEXEC特性为Apache用户提供了在不同于调用web服务器的用户ID的用户ID下运行CGI和SSI程序的能力。通常,当CGI或SSI程序执行时,它以运行web服务器的同一用户的身份运行

Apache建议您不要考虑使用SuExcel。


这与suexec模块有关吗

suExec配置不当可能导致权限错误

suEXEC特性为Apache用户提供了在不同于调用web服务器的用户ID的用户ID下运行CGI和SSI程序的能力。通常,当CGI或SSI程序执行时,它以运行web服务器的同一用户的身份运行

Apache建议您不要考虑使用SuExcel。


从StackOverflow页面:

我看到您的包括:使用CGI::Carp fatalsToBrowser;
... 阻止HTTP 500错误。只需删除此选项,程序即可正常崩溃。

从StackOverflow页面:

我看到您的包括:使用CGI::Carp fatalsToBrowser;
... 阻止HTTP 500错误。只需删除此脚本,程序就会正常崩溃。

这就是您的整个脚本吗?最后一条语句会给您一个语法错误。另请参见如何对Perl CGI脚本进行故障排除:Read-Ovid的CGI Courseno这是我的整个脚本..我可以正确地看到页面加载,但我在标题上得到了此错误消息您的整个脚本是什么?最后一条语句会给您一个语法错误。另请参阅如何排除Perl CGI脚本的故障:Read-Ovid的CGI Courseno这是我的整个脚本。我可以正确地看到页面加载,但在页眉顶部会显示此错误消息