Я настроил новый сервер Apache 2.2.15 на Windows Server 2008 R2 с mod_perl (mod perl v2.0.4 / perl v5.10.1). 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>
строчные буквы, не уверен, имеет ли это значение.
Вы также можете попробовать использовать директивы вместо директив, тогда они изменятся на "" и "", соответственно.