如何從本地主機運行perl腳本?Perl + Apache + CGI
我已經安裝了Apache 2.2和Active Perl 5.16.3。 我能夠從命令提示符運行perl腳本。 但由於我正在處理Web應用程序,我希望它從本地主機運行。
不過,我收到以下錯誤在瀏覽器中
內部服務器錯誤 服務器遇到一個內部錯誤或配置錯誤,無法完成您的請求。
請幫我一把!
如何從本地主機運行perl腳本?Perl + Apache + CGI
我已經安裝了Apache 2.2和Active Perl 5.16.3。 我能夠從命令提示符運行perl腳本。 但由於我正在處理Web應用程序,我希望它從本地主機運行。
不過,我收到以下錯誤在瀏覽器中
內部服務器錯誤 服務器遇到一個內部錯誤或配置錯誤,無法完成您的請求。
請幫我一把!
您可以從網頁瀏覽器運行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,...
這解決了我的問題。測試腳本起作用了,但我的權限並不相同。原來這個錯誤是因爲我的perl腳本在輸出中缺少一個頭文件:添加'print「Content-type:text/plain; charset = iso-8859-1 \ n \ n」;'解決了這個問題。 – user2711915
您的問題可能與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機器上執行腳本。
如果有人在2017年尋找答案,那麼請在Windows 2010機器上遵循此步驟。從https://httpd.apache.org/download.cgi#apache24
\草莓
下載Apache一旦你成功獲得Apache服務器,運行
:從Perl的網站
下載草莓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.";
應該有在服務器的錯誤日誌的詳細信息。 – cjm
你的腳本是什麼樣的? – duskwuff