>>>>> On Wed, 2 Aug 2006 14:16:00 -0500, [EMAIL PROTECTED] said:
> Can you show me how this can be configured then without using $PerlConfig > JkWorkerProperty worker.list=myWorker > JkWorkerProperty worker.myWorker.port=$workerPort > JkWorkerProperty worker.myWorker.host=127.0.0.1 > JkWorkerProperty worker.myWorker.type=ajp13 > JkWorkerProperty worker.myWorker.secret=secretword I think such things can _only_ be done with $PerlConfig. That's why I use it everywhere. I only have to write things as documented in the apache docs and need not understand the subtleties of the other variables supported by Apache*::PerlSections > If I try > push @JkWorkerProperty, "worker.list=myWorker"; > it doesn't setup right. Not surprising for me. > This is rather unique because it's valid apache syntax but not that common I cannot understand your sentence because I see no valid apache syntax here. > I'm now using $PerlConfig to work around this but I'd like to know if there > was another way. > This is how I'm > <Perl> > my $logDir = $ENV{'X_LOGDIR'}; > my $workerPort = $ENV{'X_WORKER_PORT'}; > $PerlConfig .=<<END; > JkWorkerProperty worker.list=myWorker > JkWorkerProperty worker.myWorker.port=$workerPort > JkWorkerProperty worker.myWorker.host=127.0.0.1 > JkWorkerProperty worker.myWorker.type=ajp13 > JkWorkerProperty worker.myWorker.secret=secretword > JkLogFile $logDir/mod_jk.log > JkLogLevel debug > JkShmFile $logDir/jk-runtime-status > END > Please note in order to do the $ENV above I have to have this. > <Perl> > # repopulate %ENV > for (`env`) { > next unless /^X_/; > /(.*)=(.*)/; > $ENV{$1} = $2; > push @PassEnv, $1; > #print "$_\n"; > } > this essentially puts back what mod_perl took out of %ENV upon startup and it > seems to remain in %ENV across all Perl Sections. I have not seen any example > where PassEnv can be used instead of the above approach. > --- > http://perl.apache.org/docs/1.0/guide/config.html#Apache_Configuration_in_Perl > http://perl.apache.org/docs/1.0/guide/porting.html#Passing_ENV_variables_to_CGI > "The Perl %ENV is cleared during startup, but the C environment is left intact. > With a combo of forking `env` and <Perl> sections you can do even do wildcards > matching. For example, this passes all environment variables that begin with > the letter H:" > --- > What is the correct way to define a variable that can hold state that will > survive across Perl Sections but yet won't end up in the httpd configuration? > Do I have to declare a my and use $ENV everytime I need to refer to these > variables in a Perl Section? If the Perl section are in the same file, I'd use lexical variables because they are ignored by the mod_perl mechanism. If they are in different files, pick names that are unlikely to be interpreted by perl or mod_perl. Maybe use underscores or so. Definitely no need to use %ENV, $robert_at_elastica::foo::bar works as well and doesn't trigger perl's environment handling. > Unfortunately with the mod_perl setup I'm using I cannot use > Apache::PerlSections->dump so it's hard to verify things. > Quoting Robert Nicholson <[EMAIL PROTECTED]>: >> So can you or somebody else post a complete httpd.conf that makes use >> of $PerlConfig then? >> >> On Aug 1, 2006, at 2:24 PM, Andreas J. Koenig wrote: >> >> >>>>>> On Tue, 1 Aug 2006 13:56:31 -0500, [EMAIL PROTECTED] said: >> > >> >> That resulted in errors at least in my case. >> > >> > You did read that I said you need SVN recent for apache2? >> > >> > -- >> > andreas >> > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. -- andreas