![]() |
![]() |
Home / Documentation / 1.0 / API / | ![]() |
|
![]() |
||||
![]() |
![]() |
|||
![]() |
![]() |
|||
![]() |
||||
![]() |
![]() |
|||
![]() |
Apache::PerlRun - Run unaltered CGI scripts under mod_perl | ![]() |
||
![]() |
||||
![]() |
![]() |
![]() |
||
![]() |
||||
![]() |
||||
![]() |
![]() |
![]() |
![]() |
||
![]() |
||
![]() |
![]() |
![]() |
![]() |
||
![]() |
||
![]() |
![]() |
![]() |
![]() |
||
![]() |
||
![]() |
![]() |
![]() |
![]() |
||
![]() |
||
![]() |
![]() |
![]() |
![]() |
||
![]() |
||
![]() |
![]() |
![]() |
![]() |
||
![]() |
||
![]() |
||
![]() |
||
![]() |
||
![]() |
||
![]() |
||
|
|
||
![]() |
||
#in httpd.conf
Alias /cgi-perl/ /perl/apache/scripts/
PerlModule Apache::PerlRun
<Location /cgi-perl>
SetHandler perl-script
PerlHandler Apache::PerlRun
Options +ExecCGI
#optional
PerlSendHeader On
...
</Location>
This module's handler emulates the CGI environment, allowing
programmers to write scripts that run under CGI or mod_perl without
change. Unlike Apache::Registry, the Apache::PerlRun handler
does not cache the script inside of a subroutine. Scripts will be
"compiled" every request. After the script has run, it's namespace is
flushed of all variables and subroutines.
The Apache::Registry handler is much faster than
Apache::PerlRun. However, Apache::PerlRun is much faster than
CGI as the fork is still avoided and scripts can use modules which
have been pre-loaded at server startup time. This module is meant for
"Dirty" CGI Perl scripts which relied on the single request lifetime
of CGI and cannot run under Apache::Registry without cleanup.
If your scripts still have problems running under the
Apache::PerlRun handler, the PerlRunOnce option can be used so
that the process running the script will be shutdown. Add this to
your httpd.conf:
<Location ...>
PerlSetVar PerlRunOnce On
...
</Location>
|