我对诊断perl问题非常棘手,这严重阻碍了我维护perl/cgi网站的能力。它通常发生在编辑脚本时 - 更改后我得到错误500,然后在恢复后它不会再次工作,除非我删除文件并从头开始,但是我目前有一个状态,可以通过以下方式进行复制简单的两个脚本,显示此错误是多么疯狂的是:使用perl cgi时发生错误500 - 但不是任何常见陷阱
file1.pl
#! /usr/bin/perl
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
print "content-type: text/html\n\nIt works";
file2.pl
#! /usr/bin/perl
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
print "content-type: text/html\n\nIt works";
(即...他们是相同的)
server.com/cgi-bin/file1.pl工作在误差500
server.com/cgi-bin/file2.pl结果这两个文件具有相同的大小和MD5哈希值。 两者具有相同的权限(755)和相同的所有者和组。 两者都在正确的文件夹(托管提供的cgi-bin)。 两者均以文本模式上传。 两者都与当地的Perl解释器一起工作。
如果我重命名file1-> file3,file2-> file1和file3-> file2(即交换两个文件),现在file2.pl工作,file1.pl不工作。所以我的猜测是某些状态会附加到文件本身。
如果我编辑filezilla中的文件并重新上传(例如在分号后添加一些空格),重新上传的文件也会发生同样的行为。
我的错误500页被设置为使用元刷新自动重试(如果出现内存错误等),并且在无数次刷新后它不会消失。首先访问哪一个似乎并不重要。
我无法访问此主机上的http error_log,因此不知道失败的原因。如果没有“使用浏览器的错误消息”诊断行,也会出现该错误。
任何人都可以给我一个暗示,这可能是什么,并帮助我解决它?
。‘我没有访问HTTP的error_log这个托管’这使事情变得相当困难... – ThisSuitIsBlackNot 2014-09-30 18:07:05
你是怎么上传工作的文件?'file1.pl' – TLP 2014-09-30 18:12:47
这个问题响起了一个钟......我确定我已经阅读过关于它或类似的地方。你有没有使用过吗? – 2014-09-30 18:19:02