2016-11-27 125 views
0

你好

我有一個LAMPP網絡服務器。我試圖打開名爲「Hello.cgi」的CGI腳本。LAMPP - CGI腳本不工作

它包含:

#!/usr/bin/perl 
print "Hello World.\n"; 

的路徑是:/opt/lampp/htdocs/dashboard/cgi-bin/hello.cgi

當我打開:「127.0.0.1/dashboard/cgi -bin/hello.cgi「,我得到如下:

服務器錯誤!

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

錯誤消息: 結束前頭輸出腳本的:hello.cgi

如果你認爲這是一個服務器錯誤,請與網站管理員聯繫。

CGI腳本是用Perl編寫的。

如果您需要更多關於我的問題的信息,請說出來。

~~ runasas

+0

基本上有100種不同的事情可能是錯誤的。你檢查了服務器日誌嗎?你有沒有嘗試從命令行運行腳本?你是否發送任何HTTP頭文件? –

+0

@MattJacob我現在在命令行中運行它,它工作。謝謝! – runasas

+0

是的,但是......這只是證實腳本本身沒有錯。 –

回答

0

首先,你不應該不包括線use strict;use warnings;寫一個Perl程序。其次,如果您在使用CGI程序時遇到問題,您應該檢查Web服務器錯誤日誌以獲取有關該問題的更多詳細信息。

第三,CGI程序的輸出需要包含內容類型標題。所以,你需要添加以下內容:

print "Content-Type: text/plain\015\012\015\012"; 

這變得更容易,如果你使用CGI module

use CGI; 
print header('text/plain'); 

但實際上,在2016年,你不應該編寫CGI程序 - 有可用plenty of good alternatives