I noticed two problems (possibly just documentation issues?) when
playing with PerlOptions +Parent and virtual hosts:
1)
PerlSwitches -Mlib and -I were completely ignored within the VirtualHost
tags
And more importantly...
2)
I have 3 virtual hosts (not NameVirtualHosts, but separate IPs), A, B
and C, each with their own set of modules and I want to keep their
namespaces completely separate. Naturally, within each VirtualHost
directive I included "PerlOptions +Parent" and then
PerlPostConfigRequire'd a startup.pl for each one (and of course the
startup.pl for each one had a different "use lib" line, since I couldn't
use the options from problem #1 above)
I ran a quick MP program on each vhost to dump @INC, and each vhost
reported the exact same @INC...in addition to the usual directories, all
three had the lib directory for all three sites.
Conclusion: PerlOptions +Parent wasn't doing anything. i.e. the first
vhost (A) executed its startup.pl, which added A's lib directory to
@INC, then B added its lib to the same @INC, then C did the same.
I managed to fix this by adding a PerlOptions +Parent line above/outside
all of the vhosts (generic location in httpd.conf)
Is this normal? Should this perhaps be documented, or is it, and I just
misunderstood the mp2 config guide?
This is perl 5.8.5, mod_perl 2.0.0 and httpd 2.0.52 (all are stock RHEL4
ES except MP which I built myself)
Thoughts? I'm happy to do more testing (like experimenting with
NameVirtualHost vhosts instead, +Clone instead of +Parent, etc...) if
that would be useful, but for now it's late.
Thanks,
-Adam Batkin