2011-01-23 140 views
0

當我嘗試通過瀏覽器訪問我的「hello world」perl腳本(hello.cgi)時,瀏覽器發出500內部服務器錯誤。導致500內部服務器錯誤的CGI文件

但是,當我將相同文件的文件結尾更改爲hello.pl時,我可以通過瀏覽器訪問它。我也試着在同一個目錄下用python腳本(hello.py)解決這個問題,它工作得很好。

我已經改變了httpd.conf中有以下:

AddHandler的CGI腳本的CGI的.py特等

的AllowOverride無 SetHandler CGI腳本 選項+ ExecCGI 令允許,否認 全部允許

我已到處尋找解決此問題,但似乎沒有任何工作。請幫忙。

+0

除了網頁錯誤信息,Apache服務器日誌還可以在排除CGI腳本故障時,特別是站點/虛擬主機的錯誤日誌時提供一些額外的線索。只是FYI。 – 2011-01-23 12:34:17

回答

0

你可能忘了print "Content-Type: text/html\n\n"或其他。

1

確保shebang線是正確的。 Apache服務器必須知道perl解釋器的位置,即perl.exe的位置。如果perl.exe不在/ usr/bin/perl中(就像你的shebang所說的那樣),那麼它將不起作用。

,直到我改變了我的家當以#我沒有得到任何東西!C:/ Program Files文件(x86)的/Perl64/bin/perl.exe

(順便說一句,我知道它是什麼,喜歡看的年齡!對於這些東西的幫助,祝你好運)

0

我會建議:如果您使用的主機配置之前2.0

  • 給腳本執行使用GoDaddy的基於Web的文件管理器
  • 權限,然後我相信你的Perl腳本只能位於cgi目錄中。升級到2.0+,您的Perl腳本可以駐留在您的主機帳戶的任何位置。
  • 嘗試Unix行結尾重新保存perl腳本,或者嘗試對其進行編輯,並與GoDaddy的基於Web的文件管理器保存它(這是最終爲我工作)
  • 正如前面提到的,它也可能是不完整的HTTP正在發送頭文件
  • 如果所有其他操作都失敗,則在主機管理器中打開錯誤日誌記錄,您將在文件管理器中看到一個名爲「錯誤日誌」的目錄,該目錄應該會有所幫助。
相關問題