我已經在 Windows Server 2008 R2 上使用 mod_perl (mod perl v2.0.4 / perl v5.10.1) 設定了一個新的 Apache 2.2.15 伺服器。 Mod_perl 和 Perl 5.10 已安裝並加載,沒有問題。然而,儘管我進行了配置,mod_perl 模組仍無法識別和執行我的 .pl 文件,而是選擇列印 perl 原始碼。我做錯了什麼,如何讓 perl 處理我的 pl 腳本而不是將其發送給客戶端?
我的配置:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:\Program Files (x86)\AWStats\wwwroot"
ServerName analysis.example.com
ServerAlias analysis.example.com
ErrorLog "logs/analysis.example.com-error.log"
CustomLog "logs/analysis.example.com-access.log" common
DirectoryIndex index.php index.htm index.html
PerlSwitches -T
<Directory "C:\Program Files (x86)\AWStats\wwwroot">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "C:\Program Files (x86)\AWStats\wwwroot\cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
<FilesMatch "\.pl$">
SetHandler perl-script
# #PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
</FilesMatch>
</directory>
</VirtualHost>
非常感謝您的幫忙!
答案1
我假設你已經看過這一頁?您確定正確載入了 mod_perl 嗎?
我不確定它是否還重要,但您至少曾經需要在 Apache 中使用正斜杠作為路徑,因此例如更改"C:\Program Files (x86)\AWStats\wwwroot\cgi-bin"
為"C:/Program Files (x86)/AWStats/wwwroot/cgi-bin"
.我還注意到您的</directory>
大小寫不正確,不確定這是否重要。
您也可以嘗試使用指令而不是指令,因此它們將分別變更為“”和“”。