2010-09-16 91 views
1

我有一個Perl腳本,它可以通過網頁瀏覽器腳本到print "Hello!"。我使用Apache作爲我的本地主機服務器。我使用的操作系統是紅帽5如何啓用Perl web腳本在Apache上運行?

的問題是,當我鍵入地址HTTP://localhost/example.plhttp://127.0.0.1/example.pl,它顯示了我完整的腳本代碼,但沒有顯示「你好!」應該輸出的字。

的Perl腳本:

#!/usr/bin/perl 

print "content-type: text/html \n\n"; 

print "Hello, Perl!"; 

任何人有任何想法?謝謝!

+0

堆棧流的更多積分!嗨布萊恩你覺得在我發佈這個問題之前我沒有按照「教程」?再想想! – JavaNoob 2010-09-16 05:58:00

+1

布萊恩不知道你是否閱讀過任何教程,如果你沒有明確地這樣說。他所要做的就是你在帖子中展示的知識水平。 – Ether 2010-09-16 16:37:31

+0

我不明白爲什麼人們低估了這個問題?問題被問到B/C人們不知道該怎麼做。這並沒有要求增加SO點數。這是一個有效的問題,+1 – vol7ron 2010-09-19 20:11:44

回答

2

你必須把它放在cgi-bin

正如你注意到沒有,不由解釋處理的文件返回可下載的文本文件,因此阿帕奇名候空間,文件將被解釋/服務器處理(在公共網關接口箱)。

首先,您必須設置apache以指向cgi-bin目錄 - 默認情況下會執行此操作,您可以將文件放在那裏。 一旦你的文件是存在的URI會是這樣的:http://localhost/cgi-bin/example.pl


注:你不能把html/js在cgi-bin目錄,因爲他們將被處理,並會導致服務器故障。

我推薦從apache的網站上閱讀更多。

+0

我對conf文件做了所有必要的修改,但仍然不起作用。現在它告訴我「在此服務器上找不到所請求的URL /cgi-bin/example.pl」的錯誤。「你知道我在哪裏可以在Linux中找到.htaccess文件? – JavaNoob 2010-09-16 05:33:16

+0

那麼,你不必把它放在/ cgi-bin /中。你必須把它放在Web服務器將它識別爲可執行文件的地方。你必須告訴網絡服務器如何處理。 – 2010-09-16 05:42:31

+0

cgi-bin應該是默認創建的。您不需要觸摸.htaccess文件。一旦你在cgi-bin中使用它,你可以使用Redirect/RewriteRules來掩蓋路徑,使得'http://localhost/index.cgi-> http:// localhost/cgi-bin/index.cgi' – vol7ron 2010-09-16 16:08:18