2013-10-18 132 views
2

如何從本地主機運行perl腳本?Perl + Apache + CGI

我已經安裝了Apache 2.2和Active Perl 5.16.3。 我能夠從命令提示符運行perl腳本。 但由於我正在處理Web應用程序,我希望它從本地主機運行。

不過,我收到以下錯誤在瀏覽器中

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

請幫我一把!

+6

應該有在服務器的錯誤日誌的詳細信息。 – cjm

+0

你的腳本是什麼樣的? – duskwuff

回答

0

您可以從網頁瀏覽器運行cgi腳本。 CGI意味着它應該在發送任何輸出到服務器之前發送一個HTML頭(它將把它發送回瀏覽器)。

http://perldoc.perl.org/CGI.html#NAME

http://www.cs.tut.fi/~jkorpela/perl/cgi.html

像這樣:

use CGI; # load CGI routines 
$q = CGI->new; 
print $q->header; # create the HTTP header 
print $q->start_html('hello world'); # start the HTML 

### your script logic goes here 

print $q->end_html; # end the HTML 

當然,CGI已經過時,新的發展,你應該使用一些mmore最近framwork像:舞蹈演員,Mojolicious,...

+0

這解決了我的問題。測試腳本起作用了,但我的權限並不相同。原來這個錯誤是因爲我的perl腳本在輸出中缺少一個頭文件:添加'print「Content-type:text/plain; charset = iso-8859-1 \ n \ n」;'解決了這個問題。 – user2711915

0

您的問題可能與Apache的配置有關。 (這可能是Apache的需要配置的CGI腳本) - 如果是這種情況,那麼你可以找到關於此這裏好消息:

http://www.perlmonks.org/?node_id=44536
http://www.cgi101.com/book/connect/winxp.html
http://www.editrocket.com/articles/perl_apache_windows.html

通常有一個主機你需要做的事情才能實現。遵循一個好的HOWTO來確保所有東西都已正確安裝和配置後,通常會讓您在本地Windows機器上執行腳本。

0

如果有人在2017年尋找答案,那麼請在Windows 2010機器上遵循此步驟。從https://httpd.apache.org/download.cgi#apache24

  • \草莓

  • 下載Apache一旦你成功獲得Apache服務器,運行

  • :從Perl的網站

    1. 下載草莓Perl的安裝在默認directory.C將你的perl腳本放在Apache24/cgi-bin /文件夾中。 FIRSTLINE您的Perl腳本應該指向perl的安裝我的情況的路徑是#C:!/Strawberry/perl/bin/perl.exe 你應該根據你的安裝文件夾

    改變你的路徑文件名 - 第一。PL

    #!C:/Strawberry/perl/bin/perl.exe 
    print "Content-type: text/html\n\n"; 
    print "Hello, World."; 
    
  • 現在你可以在瀏覽器中運行的腳本http://localhost/cgi-bin/first.pl