7

我正在使用 Apache 2。我知道如何将 .pl 文件作为“cgi-script”处理,但 mod_perl 应该更快。我成功构建并安装了 mod_perl,但是如何更改 httpd.conf 以便 .pl 文件将由 mod_perl 处理(而不是作为 cgi 脚本)?

4

3 回答 3

6

如何执行此操作在此处的 mod_perl 文档中进行了描述。特别是,请阅读“注册表脚本”部分。

于 2009-01-03T20:10:45.973 回答
2

以下是我自己未经测试的,可以添加到现有的 vhost 指令文件中

PerlModule ModPerl::Registry
<Files ~ "\.(pl|cgi)$">
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
Options +ExecCGI
PerlSendHeader On
</Files>

然后将执行任何目录中的任何 .pl 或 .cgi 文件。

由于安全原因,我通常如何做:

PerlModule ModPerl::Registry
<Directory /opt/myawesomescripts/>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
AllowOverride None
</Directory>

如果您需要,以前的方法将拒绝目录浏览,您应该执行以下操作:

PerlModule ModPerl::Registry
<Directory /var/www/>
Options FollowSymLinks MultiViews ExecCGI Indexes
AddHandler perl-script .cgi .pl
PerlResponseHandler ModPerl::Registry
AllowOverride None
Order allow,deny
allow from all
</Directory>
于 2011-05-17T21:49:09.263 回答
1

我相当肯定,只要您加载了模块,您就可以添加一个

AddHandler mod_perl .pl

于 2009-01-03T19:44:18.040 回答