编辑后内部服务器错误,但重新上传原件并不能解决

Internal server error after editing, but reuploading the originals does not fix

我正在通过网站远程帮助某人。主要问题是我无法亲自调试实际站点。我确保我的代码没有错误,但错误是不可避免的。

所以当前站点在更新某些服务器脚本(在 Perl 中)后遇到内部服务器错误。我们重新上传了原件并确保原件有效,但错误仍然存​​在。

我从来没有见过这样的情况。这里还有什么问题?是否有任何类型的服务器缓存?

您在使用 mod perl 吗?它有缓存损坏代码的恶习,重启服务器以清除它。或者尝试重命名脚本以进行测试。

您使用的是 Apache 吗?服务器脚本错误通常会记录到 /var/log/httpd/error_log - 如果您无权访问,请向管理员询问。或者让他们将您网站的 error_log 记录到您可以 see/view.

的某个地方

您可能会使用的其他技巧

如果还没有,use warnings; use diagnostics; use CGI::Carp qw(fatalsToBrowser);

运行 从另一个页面作为命令行脚本,这是从封闭环境中获取错误消息的 hack。

#!/usr/bin/env perl
use CGI;

my $cgi = CGI->new();
print $cgi->header();
print `myscript.cgi 'param1=hello&param2=world'`;

根据您的环境检查系统设置和版本

#!/usr/local/bin/perl

print "Content-type: text/html\n\n";
print "<pre>\n";

foreach $key (sort keys(%ENV)) {
  print "$key = $ENV{$key}<p>";
}
print "</pre>\n";

除此之外,您确实需要获得更高级别的系统访问权限,或者在您控制的虚拟机中重现环境。