Hello,
I've recently switched to Apache 2 with mod_perl 2. Unfortunately I
still have to run some perl scripts which only worked with
Apache::PerlRun and PerlSetVar PerlRunOnce On.
After a bit of reading I concluded that ....
<VirtualHost *:8080>
ServerName test
DocumentRoot /test/html
PerlOptions +Parent
PerlInterpStart 1
PerlInterpMax 1
PerlInterpMaxRequests 1
PerlResponseHandler ModPerl::PerlRunPrefork
<Files *.epl>
SetHandler perl-script
PerlOptions -ParseHeaders
Options +ExecCGI
</Files>
</VirtualHost>
... should allow those scripts (ending in *.epl) to run while not
affecting other stuff in other virtual hosts.
However, it wont.
A simple test script like >>> print "OLD: $::empty"; $::empty = 1;" <<<
will work as expected the first time but the second time it will output
>>> OLD: 1 <<< (fail). Alternately it works and fails a few times and
then will fail every time after that, just as if it filled up available
server processes. (It also remembers having "use"d stuff and reports
"not a code reference" when it fails.)
Looks like I misunderstood what PerlInterpMaxRequests is supposed to
do.What am I missing? What do I need to change to allow such scripts to
run? Changing the scripts is unfortunately no option.
Thank you for your help.
--
Mit freundlichen Grüßen
Ainea AG
Fabian Kreitner
Rheinuferstraße 9
67061 Ludwigshafen
Telefon: +49 (0)621 - 59 29 77-0
Fax: +49 (0)621 - 59 29 77-99
E-Mail: [EMAIL PROTECTED]
Website: http://www.ainea-ag.de