我對診斷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