apache 2.2 中的 mod perl 无法解析 perl 脚本

apache 2.2 中的 mod perl 无法解析 perl 脚本

我在 Windows Server 2008 R2 上安装了全新的 Apache 2.2.15 服务器,并安装了 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>没有大写,不确定这是否重要。

您还可以尝试使用指令而不是指令,这样它们将分别更改为“”和“”。

相关内容