我有簡單的腳本。我已經在命令行中對它進行了測試。一切安好。 但我的瀏覽器無法執行它。它總是試圖下載它。我欺騙了所有的Apache配置文件,但我找不到任何麻煩。即使我的瀏覽器嘗試下載它,如何執行.pl腳本?
/etc/apache2/sites-available looks like this:
ScriptAlias /cgi-bin/ /var/www/president/cgi
<Directory "/cgi-bin/ /var/www/president/cgi">
AddHandler cgi-script cgi pl
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
腳本非常簡單
#!/usr/bin/perl -w
use CGI;
print "Content-type: text/html\n\n";
foreach (sort keys %ENV) {
print "<i>$_</i>: $ENV{$_}<br/>\n";
}
「我的瀏覽器無法執行它」顯示了CGI(以及一般的服務器端腳本)如何工作的根本誤解。您的瀏覽器*不應該*執行腳本。你的瀏覽器永遠不應該*看*腳本。相反,Web服務器(在你的情況下,顯然是Apache)應該執行腳本,並將*腳本的輸出*(在本例中是一些普通的舊HTML)發送到瀏覽器。您的瀏覽器只能看到HTML。 – tobyink 2014-09-01 11:13:38
您正在加載CGI.pm,但沒有使用它。這似乎...次優: -/ – 2014-09-01 12:11:44