簡體   English   中英

Perl + Apache + CGI

[英]Perl + Apache + CGI

如何從本地主機運行perl腳本?

我已經安裝了Apache 2.2和Active Perl 5.16.3。 我可以從命令提示符下運行perl scrip。 但是由於我正在處理Web應用程序,所以我希望它可以從localhost運行。

但是,我在瀏覽器中收到以下錯誤

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

請幫幫我!

您可以從網絡瀏覽器運行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已經過時了,對於新開發,您應該使用一些最新的框架,例如:Dancer,Mojolicious,...

您的問題可能與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

為了使它正常工作,通常需要做很多事情。 按照良好的操作指南進行操作,以確保正確安裝和配置了所有程序,通常可以使您在本地Windows計算機上執行腳本。

如果有人在2017年尋找答案,請在Windows 2010機器上遵循。

  1. 從perl網站下載Strawberry perl在默認目錄中安裝。C:\\ Strawberry

  2. https://httpd.apache.org/download.cgi#apache24下載Apache

  3. 成功運行apache服務器后,

  4. 將您的perl腳本放在Apache24 / cgi-bin /文件夾中。 對於我的情況,perl腳本的第一行應指向安裝perl的路徑,它是#!C:/Strawberry/perl/bin/perl.exe,您應根據安裝文件夾更改路徑

文件名-first.pl

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM