2014-02-25 52 views
1

不包含我的.htaccess文件在網絡上使用perl

「選項-Indexes + ExecCGI

AddHandler的CGI腳本.PLX」

有些事情要和我perl腳本沒有運行在我的朋友網絡服務器上,他分配給我一個子域?

它也有沒有關係不在根?顯然我很喜歡的地方\的public_html \插件\千斤頂\

HTML我從中試圖調用從Perl腳本:

<html> 
<!--#exec cgi="cgi-bin/print.pl"--> 
<head> 
</head> 
<body> 
<form action="/cgi-bin/print.pl" method="post"> 
<input type="submit" name="sub" value="Run this!"> 
</form> 
</body> 
</html> 

perl腳本:

#!/usr/bin/perl 
BEGIN { 
use CGI::Carp qw(fatalsToBrowser); 
die ’Some disaster!’; # This will be printed to the browser 
print "Content-type: text/plain\n\n"; 

} 

注意:當我打開shtml文件,我得到「[處理此指令時發生錯誤]」,當我點擊「運行此」我得到

內部服務器錯誤

服務器遇到內部錯誤或配置錯誤,無法完成您的請求。

請聯繫服務器管理員[email protected]並告知他們錯誤發生的時間以及您可能已經造成的任何可能導致錯誤的事情。

有關此錯誤的更多信息可能在服務器錯誤日誌中可用。

此外,嘗試使用ErrorDocument處理請求時遇到404未找到錯誤。

如果需要任何其他信息,請詢問。我不確定是否向全世界顯示我的htaccess文件的內容是否被延遲。

回答

0

我會強烈建議更換:

#!/usr/bin/perl 

#!/usr/bin/perl -w 

確保您cgi-bin文件夾中的文件的權限和print.pl腳本設置爲755 當您上傳這個腳本,是確定它在ASCII模式。

至於404 Not Found error去,ErrorDocument不存在它指定的地方,所以它會導致此錯誤。

你有權限訪問你的服務器日誌嗎?如果是,那麼它將被記錄在日誌中。另外,誰創建了cgi-bin文件夾?你或你的託管服務提供商?請注意,cgi-bin文件夾在配置文件中設置爲ScriptAlias。該目錄中的每個文件都將被視爲腳本並根據請求執行。

+0

那麼,我會使用警告;但它不是我正在閱讀的書中片段的一部分。我讀過,我應該上傳perl文件的二進制,而不是ASCII。我不認爲我有權訪問服務器日誌,我的朋友剛剛進行了操作,所以目前我無法聯繫他,但是當我可以的時候,我會問他。我沒有製作cgi-bin,所以它不是自動的就是我的朋友製作的。我會要求他更改文件和文件夾的權限,但他說777是世界可執行的許可。謝謝您的回答! –