Hello again,
first, thank you for the support. Your suggestions helped alot and reading
the documentation you pointed me to, caused me to read further at
http://perl.apache.org/preview/modperl-docs/dst_html/docs/1.0/guide/perl.html#Using_Non_Hardcoded_Configuration_Module_Nameswhich
covers exactly the problem I have.
(By the way: there's a typo at line 1 of the startup.pl script:
I think
use Apache:
should be
use Apache;
right?)
But following that guideline resulted in the next problem, I could not yet
solve on my own:
PerlSetVar seems not to work for me! The part of interest in my httpd.conf
looks like this:
Alias /contest /www/u-dev/contest
PerlModule Apache::Registry
PerlModule Apache::DBI
PerlTaintCheck On
<Location /contest>
PerlSetVar BlaTest BlaVal
SetHandler perl-script
PerlHandler Apache::Registry
PerlRequire /www/u-dev/contest/mod_perl_init.pl
Options ExecCGI
PerlSendHeader Off
allow from all
</Location>
The mod_perl_init.pl script looks like this:
use Apache;
my $s = Apache->server;
print $s->server_hostname || "Error";
print $s->dir_config('BlaTest') || "Error";
Now what happens at server startup is that the hostname gets printed
correctly, but instead of the value of BlaTest (should be BlaVal) "Error" is
printed.
I use Apache 1.3.20 with mod_perl 1.26 under SuSE-Linux 7.3 with kernel
2.4.10
Any idea what could cause this behavior?
Again: thanks alot
S.Stuckenbrock
> Per Stas Bekman wrote:
>> At 21:12 19.04.2002, S�ren Stuckenbrock wrote:
>>
>>> Hi there,
>>>
>>> mod_perl-newbie needs help!
>>> I have a nasty problem using Perl Modules under mod_perl.
>>> I've developed a CGI-Application, that retrieves its configuration
>>> values from a module that gets included (with "use") in every Script
>>> of the application.
>>> So far no problem.
>>>
>>> But when I try to set up more than one instance of the application on
>>> the same (virtual) server under different paths, with different
>>> configuration values in the config-module (which I must do) mod_perl
>>> mixes up the different configuration-modules. Every httpd-child only
>>> loads the configuraion module of the applications instance that it
>>> first served a request for.
>>> If the same process serves a request for a different instance later,
>>> it always uses the config-module of the instance it first served a
>>> request for,
>>> because it thinks it already has loaded the right module.
>>
>>
>> This is because once you use a module (say My::Config), it won't be
>> reloaded as that package name has already been loaded. If your
>> configuration files are different, and in different locations, you
>> should be giving them different names: say My::App1::Config,
>> My::App2::Config, etc. THen you won't have that problem.
>
> For more explanations see this item:
>
http://perl.apache.org/preview/modperl-docs/dst_html/docs/1.0/guide/porting.html#Reloading_Modules_and_Required_Files>
> And Per Einar's suggestion too, but the problem you are having is
> actually explained in the above item. The one below talks about
> different problems, which you want to read as well.
>
>> See
>>
http://perl.apache.org/preview/modperl-docs/dst_html/docs/1.0/guide/porting.html#Writing_Configuration_Files>>
for more information.
>>
>>
>>
>
>
>
> --
>
>
> __________________________________________________________________ Stas
> Bekman JAm_pH ------> Just Another mod_perl Hacker
> http://stason.org/ mod_perl Guide ---> http://perl.apache.org
> mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
> http://modperlbook.org http://apache.org http://ticketmaster.com
--
netendance GmbH
S�ren Stuckenbrock
Fr�nkische Stra�e 38
30455 Hannover
Telefon: 49 (0) 511/4733773
Fax : 49 (0) 511/4733776
Mobil : 49 (0) 173/6000319
http://www.netendance.de