Jim Martinez wrote: > Hi, > > I'm looking for some suggestions for a library problem with Apache::Test, > which I'm using to develop a web application. > > Hope this is the place to ask.
better [EMAIL PROTECTED] now, but that list was just created yesterday :) > > Using Apache 1 and Mod perl 1, how can I preload perl modules at server > startup? > > My extra.conf.in contains something like this: > > PerlModule Foo::Bar > <Location /a > > SetHandler perl-script > PerlHandler Foo::Bar::myhandler > </Location> > > "make test" fails. The apache server won't start because it can't find > Foo::Bar, needed by the line "PerlModule Foo::Bar" if you can move it to t/lib/Foo/Bar.pm Apache-Test will pick it up. > > In the link below, I read about "PerlSwitches [EMAIL PROTECTED]@/../lib" > > http://perl.apache.org/docs/general/testing/testing.html#Extending_Configuration_Setup > > Is PerlSwitches for MP2 only? yes. an equivalent in mp1 might be to do this in extra.conf.in <Perl> use lib qw(@ServerRoot@/../lib) </Perl> or without the <Perl> sections from modperl_extra.pl.in, which is equivalent to startup.pl but with @var@ substitution. you can use modperl_extra.pl if you don't need substitution. keep in mind that if you go this route you will probably need to change extra.conf.in to extra.last.conf.in so that it is loaded _after_ your startup.pl. see the bottom of the generated httpd.conf to see what I mean. > > In the link above I'd call the root development directory > /path/to/Apache-Amazing, just so that you understand what I mean by root > development directory. Here is a listing of the root development > directory: > > CVS/ Changes MANIFEST MANIFEST.OLD MANIFEST_maybe META.yml Makefile > Makefile.PL README blib/ docs/ lib/ pm_to_blib t/ > > Of course Foo::Bar is in lib/Foo/Bar.pm (until Apache::Test moves it to > blib/ ) > > If I set PERL5LIB to the root development directory, the "make test" runs > fine (well it shows me my programming errors is what I mean). > > Should I create a starup.pl file that does something like: > > BEGIN { use lib @[EMAIL PROTECTED]/lib } > > Then and add lines to extra.conf.in to run startup.pl. > > Or is there a better way? A hard coded path won't work in my situation > (which is why I use the @ServerRoot@). no, that's the idea. you just need to use the magic files :) HTH --Geoff