Я использую Apache 2. Я знаю, как обрабатывать файлы .pl как "cgi-script", но mod_perl предположительно намного быстрее. Я успешно собрал и установил mod_perl, но как мне изменить httpd.conf, чтобы файлы .pl обрабатывались с помощью mod_perl (а не как cgi-скрипт)?
Как заставить Apache обрабатывать файлы .pl (Perl) с помощью mod_perl?
comment
Это может вам помочь: perl.apache.org/docs/2.0/user /config/config.html
- person Chris Jester-Young   schedule 03.01.2009
Ответы (3)
Как это сделать, описано в здесь документации mod_perl. В частности, прочтите раздел «Сценарии реестра».
person
ChrisN
schedule
03.01.2009
Следующее не проверено мною и может быть добавлено к существующему файлу директивы 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>
person
AndrewPK
schedule
17.05.2011
Я почти уверен, что пока у вас загружен модуль, вы можете просто добавить
AddHandler mod_perl .pl
person
helloandre
schedule
03.01.2009