[CDBI] Re: odd swapping database issue on vhost / mason install
Alan <[email protected]> Mon, 2 Apr 2007 19:14:12 -0700
| Newsgroups | gmane.comp.lang.perl.modules.class-dbi |
|---|---|
| Message-ID | <[email protected]> |
On Mon, Apr 02, 2007 at 08:31:21PM -0400, Edward J. Sabol wrote: > Alan <[email protected]> wrote: > > The mason install is separated but the two CMS::DBI libraries (one > > running under each vhost) seem to be clashing. > > So the two CMS::DBI libraries mainly differ just in the connection() setup? That is correct, the only difference ATM is in the set_db() function, though as the codebase changes for each install it's possible that other stuff will change as well. > You say you have separate Mason roots, but are you sure you're running > separate mod_perl servers? I would think you would need a single lightweight No, at this point it's just apache2 with mod_perl running with a standard virtualhost setup. I'm running this on a godaddy server, with their control panel controlling things, so I'm doing as much as possible with .htaccess files for the actual mason setup as their control panel rewrites the httpd.conf include files whenever a new domain is added. I'd like to try to play as nicely as possible with the other tools available. > frontend vhost server that proxies to two separate Mason/mod_perl > heavyweight servers. Also, is there any chance the @INC could be getting > mixed up between the installations? If I print out a dump of @INC with my displaypage component it shows /home/user/site1 within site1, and when it flipflops to the other database the INC stays the same. > The next thing I would try is disabling the object index. Put > > $Class::DBI::Weaken_Is_Available = 0; I didn't have a startup.pl running, but I defined one with PerlPostConfigRequire /etc/httpd/conf/startup.pl and then just threw a use for Data::Dumper and Class::DBI, then put in the weaken_is_avialable line above, no change :( > in your startup.pl file. If that solves the problem, then you have a scoping > problem somewhere in your Mason code.... I'm sure that this has something to do with mod_perl and the naming of the libraries being the same and then running in the same memory space in the httpd processes, but I really hope there's a way to separate them. Maybe a better question is to ask is it possible to run separate virtualhosts with separate perl libraries that are named the same, but have different functionality on the same server. I'm going to try a (ugh) search/replace for the library name, rename it from CMS::DBI to Client1::DBI and see if that fixes it (I'm sure it will). I really hope there's a different way to do it though. Alan -- Alan <[email protected]> - http://arcterex.net -------------------------------------------------------------------- "Backups are for people who don't pray." -- big Mike