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


Reply via email to