Which version of mod_perl are you using, 1.21 or the CVS version perhaps?

> Hi!
> 
> I've encountered very interesting problem. When I set some variable
> using PerlSetVar in configuration files for different virtual servers
> they seem to be available to ALL of those virtual servers.
> 
> Here's details to clarify.
> 
> In httpd.conf I have
> 
> <VirtualHost myhost1.domain.com>
> ServerName   myhost1.domain.com
> DocumentRoot /httpd/docs
> ErrorLog logs/httpd-errors
> CustomLog logs/httpd-log common
> AccessConfig conf/access.conf
> ResourceConfig conf/srm.conf
> </VirtualHost>
> 
> <VirtualHost myhost2.domain.com>
> ServerName   myhost2.domain.com
> DocumentRoot /httpd/docs
> ErrorLog logs/httpd2-errors
> CustomLog logs/httpd2-log common
> AccessConfig conf/access2.conf
> ResourceConfig conf/srm2.conf
> </VirtualHost>
> 
> 
> Now in srm.conf I set
> 
> PerlSetVar MyVariable MyValue
> PerlAuthenHandler        Apache::Myhandler
> 
> 
> And in srm2.conf I have
> 
> PerlSetVar MyVariable2 MyValue2
> PerlAuthenHandler        Apache::Myhandler
> 
> In Myhandler::handler I do 
> $myvar1 = $r->dir_config('MyVariable');
> $myvar2 = $r->dir_config('MyVariable2);
> 
> if($myvar1){
> ## do stuff for first virtual server
> }else{
> ## do stuff for the second one
> }
> 
> But $myvar1 appears to be ALWAYS set. Which leads me to belief that
> mod_perl "shares" variables between virtual servers if those variables
> are not explicitly set in configuration for that server.
> 
> Is this supposed to be this way? Or am I missing something?
> 
> Andrei
> 
> -- 

Reply via email to