You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by "Bauer, Peter" <Pe...@partner.commerzbank.com> on 2002/11/27 16:12:54 UTC

modperl file cache screwed up

Hi,

on my installation of Apache (1.3.27 + last Modperl) I have the
problem that on two diffrent virtual servers, there are perl CGIs
with the same name but entirely diffrent funcions.

I have the effect that sometimes when asking to execute the CGI of 
server1, the CGI of server2 is run and sends its output.

Did I miss something? Does the cache not handle virtual servers
correctly? (e.g. cache by filename, not by entire URL) Or do I have 
to set a variable in the <directory> section of each server?

Sorry, I'm quite unfamiliar with Apache/Perl.

Thanks!

  Peter

--

              ITServ: kompetent, zuverlässig und fair

---------------------------------------------------------------------
ITServ GmbH
Peter Bauer                          Phone:    ++49 (0)700 487378-33
Roentgenstrasse 11                    -or-     ++49 (0)700 ITSERV-DE
D-65474 Bischofsheim                 Fax:      ++49 (0)700 487378-32
GERMANY                               -or-     ++49 (0)700 ITSERV-FA
Mail: peter.bauer@itserv.de          Mobile :  ++49 (0)172 9391076
--------------------------------------------------------------------- 

Re: modperl file cache screwed up

Posted by Geoffrey Young <ge...@modperlcookbook.org>.

Bauer, Peter wrote:
> Hi,
> 
> on my installation of Apache (1.3.27 + last Modperl) I have the
> problem that on two diffrent virtual servers, there are perl CGIs
> with the same name but entirely diffrent funcions.
> 
> I have the effect that sometimes when asking to execute the CGI of 
> server1, the CGI of server2 is run and sends its output.
> 
> Did I miss something? Does the cache not handle virtual servers
> correctly? (e.g. cache by filename, not by entire URL) Or do I have 
> to set a variable in the <directory> section of each server?
> 
> Sorry, I'm quite unfamiliar with Apache/Perl.
> 

In general, this should not be a problem: Apache::Registry is smart 
enough to know that you are running with vhosts and it caches the 
scripts accordingly.

however, if you're having problems one thing to try is setting 
$Apache::Registry::NameWithVirtualHost = 1; in your startup.pl

see

http://perl.apache.org/docs/1.0/guide/config.html#toc_A_Script_From_One_Virtual_Host_Calls_a_Script_with_the_Same_Path_From_the_Other_Virtual_Host

for more details.

the other thing you can try is swapping Apache::Registry for 
Apache::RegistryNG (which uses a filepath instead of URI for script 
caching) and see if that helps at all.

--Geoff