Am 30.11.2011 um 15:02 schrieb Michael Peters:

> On 11/29/2011 10:29 PM, Nishikant Kapoor wrote:
> 
>> I have been running a ModPerl site fine with following configuration.
>> The problem started when I made a complete copy of the original site and
>> tried to run the two in the same environment. For some reason, calling
>> up the ORIG site (http://127.0.0.1/ORIG/) now calls the COPY site at
>> http://127.0.0.1/COPY/. None of the changes made in ORIG::MODS::base.pm
>> are getting picked up even after restarting the apache server. However,
>> changes to COPY::MODS::base.pm are showing up fine.
> 
> The problem is that mod_perl uses the same Perl interpreter for everything 
> (by default) and that interpreter is persistent. I'm guessing that your 
> "package" declaration in ORIG::MODS::base.pm and COPY::MODS::base.pm are the 
> same. Perl won't load 2 packages of the same name. The usual solutions are:
> 
> 1) rename your modules so that they don't have the same package names.
> 
> 2) run multiple separate apaches on the same physical server (not as hard as 
> it seems to most people and pretty easy to do if you're running a proxy in 
> front. And you really should be running a proxy in front).
> 
> 3) Try to have multiple Perl interpreters using a different Apache MPM. I 
> haven't seen anyone give a definitive guide to how to do this (although I 
> could have missed something) and results seem to be mixed.
> 
> I prefer #2 and use it constantly. It also makes it really easy to have 
> separate dev environments each using their own code.
> 

You could do that too with the "+parent" option, see mod_perl docs. So you 
don't need another apache instance (but you need a lot of RAM ).
This creates an own interpreter. But I'm not sure if  it can be applied  on a 
<Location> level or at least on <VirtualHost>


Rolf Schaufelberger







Reply via email to