perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tom Schindl <tomAtLi...@gmx.at>
Subject Re: making versioned libraries work on the same server
Date Wed, 11 Jan 2006 12:21:26 GMT
What version of mp are you using:

mp1:
----
http://perl.apache.org/docs/1.0/guide/modules.html#Apache__PerlVINC___Allows_Module_Versioning_in_Location_blocks_and_Virtual_Hosts

mp2:
----
Any mp2 you can give every v-host it's own perl interpreter with a
different lib-path:
http://perl.apache.org/docs/2.0/user/config/config.html#C_PerlOptions_

Tom

Daniel McBrearty wrote:
> Hi,
> 
> If I am developing an app that has a bunch of perl modules as part of
> the repository (the modules are dedicated for this project), how do I
> get Apache/mod_perl to use the correct version?
> 
> Say my repository exports like this:
> 
> projectDir
> |
> |
> ----MyLib (contains "X.pm", "Y.pm" ...)
> |
> |
> ---- site ---- cgi --- app.cgi
> 
> Say I export different versions of this into directories R1.00, R1.01,
> in a dir outside the build tree. Now I symlink the site directories to
> /var/www/test and /var/www/prod. (This is all done with scripts
> followed by a server restart.)
> 
> Til now I've been using
> 
> use lib "../..";
> use MyLib::X;
> 
> in app.cgi. I thought it was working fine, but I'm not so sure now ...
> especially after reading :
> 
> (snip)
> Even though @INC typically includes dot ("."), the current directory,
> this really isn't as useful as you'd think. For one thing, the dot
> entry comes at the end, not the start, so that modules installed in the
> current directory don't suddenly override system versions. You could
> say use lib "." if that's what you really want. More annoyingly, it's
> the current directory of the Perl process, not the directory that the
> script was installed into, which makes it completely unreliable. If you
> create a program plus some modules for that program to use, it will
> work while you're developing, but it won't work when you aren't running
> in the directory the files live in.
> (/snip)
> 
> I don't know what the working dir of one of teh mod_perl processes
> would be? The dir of teh first script that is executed? The dir where
> the server was started? Anyways, I doubt that this is teh correct way.
> 
> All help much appreciated. And big thanks for the great free software
> ... mod_perl is brilliant!
> 
> Daniel
> 
> 
> 
> 
> --
> Daniel McBrearty
> danielmcbrearty at gmail.com
> 
> 


Mime
View raw message