Назад | Перейти на главную страницу

mod perl в apache 2.2 не анализирует скрипты Perl

Я установил новый сервер 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 webmaster@example.com
    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>

Огромное спасибо за помощь!

Я полагаю, вы смотрели на эта страница? Вы уверены, что правильно загружаете mod_perl?

Я не уверен, имеет ли это какое-то значение, но вам, по крайней мере, приходилось использовать косую черту для путей в Apache, поэтому, например, измените "C:\Program Files (x86)\AWStats\wwwroot\cgi-bin" к "C:/Program Files (x86)/AWStats/wwwroot/cgi-bin". Я также заметил, что ваш </directory> не капитализирован, не уверен, что это имеет значение.

Вы также можете попробовать использовать директивы вместо директив, чтобы они изменились на "" и "" соответственно.