Hello Bernhard Donaubauer, Thursday, July 17, 2003, 5:34:57 PM, you wrote:
BD> Hello! BD> I just startet learning mod_perl and apache. I use the current version of BD> mod_perl 1 and apache 1.3. Perl itself has version 6.5.1. BD> My aim ist to set some environment variables visible to all apache/perl BD> children (as far as I unsterstand there is one perl instance for each apache BD> child), but my testapplication does sometimes see my environment settings and BD> sometimes not. It changes if I press the refresh button of the browser. http://perl.apache.org/docs/1.0/guide/porting.html#Sometimes_it_Works__Sometimes_it_Doesn_t BD> According to mod_perl Developerls Cookbook I createt a script called BD> envteststartup.pl: BD> 1 #!/usr/bin/env perl BD> 2 BD> 3 BEGIN{ BD> 4 $ENV{ORACLE_HOME}="/opt/oracle/product/9.2.0"; BD> 5 $ENV{ORACLE_SID}="i001"; BD> 6 $ENV{ORACLE_TERM}="xterm"; BD> 7 $ENV{NLS_LANG}="AMERICAN_AMERICA.WE8ISO8859P1"; http://perl.apache.org/docs/1.0/guide/porting.html#BEGIN_blocks BD> 8 BD> $ENV{ORA_NLS33}="/opt/oracle/product/9.2.0/ocommon/nls/admin/data"; BD> 9 $ENV{NLS_TIMESTAMP_FORMAT}="YYYY-MM-DD HH24:MI:SS.FF"; BD> 10 $ENV{NLS_TIMESTAMP_TZ_FORMAT}="YYYY-MM-DD HH24:MI:SS.FF TZR"; BD> 11 $ENV{NLS_DATE_FORMAT}="YYYY-MM-DD"; BD> 12 $ENV{NLS_NUMERIC_CHARACTERS}=",."; BD> 13 $ENV{TNS_ADMIN}="/opt/oracle/product/9.2.0/network/admin"; BD> 14 BD> 15 $ENV{INFORMIXDIR}="/opt/informix"; BD> 16 $ENV{INFORMIXSERVER}="onltuxtcp"; BD> 17 $ENV{DBDATE}="Y4MD-"; BD> 18 $ENV{DBCENTURY}="C"; BD> 19 BD> 20 $ENV{BETLOGDIR}="/usr/local/apache/logs"; BD> 21 $ENV{BETYUCDB}="yucatan_test1"; BD> 22 $ENV{BETYUCDBTYP}="informix"; BD> 23 $ENV{BETLOGIN}="login"; BD> 24 BD> 25 $ENV{SESSIONDIR}="/usr/local/apache/sessions"; BD> 26 $ENV{SESSIONLOCKDIR}="/usr/local/apache/sessions/lock"; BD> 27 } BD> 28 BD> 29 use lib qw(/usr/local/apache/modperlappl); BD> 30 use lib qw(/usr/local/apache); BD> 31 BD> 32 use strict; BD> 33 use warnings; BD> 34 use Apache::DBI; BD> 35 use DBI; BD> 36 use Apache::Session; BD> 37 use Apache::Session::File; BD> 38 use Apache::Request; BD> 39 use Apache::URI; BD> 40 use Apache::Log; BD> 41 BD> 42 use envtest::handler; BD> 43 BD> 44 1; BD> My http.conf has the following mod_perl entries: BD> 338 PerlRequire conf/envteststartup.pl BD> 339 BD> 340 Alias /envtest/ /usr/local/apache/modperlappl/envtest/ BD> 341 <Location /envtest/> BD> 342 SetHandler perl-script BD> 343 PerlHandler envtest::handler BD> 344 </Location> BD> My testapplication is as simple as can be: BD> 1 package envtest::handler; BD> 2 BD> 3 sub handler { BD> 4 my $r=Apache::Request->instance(shift()); BD> 5 BD> 6 $r->send_http_header('text/plain'); BD> 7 BD> 8 print "Environment:\n"; BD> 9 BD> 10 while ( my ( $key, $value ) = each %ENV ) { BD> 11 print "$key: $value\n"; BD> 12 } BD> 13 BD> 14 } BD> 15 BD> 16 1; BD> I assume not all perl instances get my environment settings but where is the BD> error causing me headache? BD> Regards, BD> Bernhard Donaubauer Also see http://perl.apache.org/docs/1.0/guide/config.html#PerlSetEnv_and_PerlPassEnv http://perl.apache.org/docs/1.0/guide/config.html#PerlSetVar_and_PerlAddVar http://perl.apache.org/docs/1.0/guide/config.html#PerlSetupEnv Hope this will help. -- WBR, Mike P. Mikhailov mailto: [EMAIL PROTECTED] ICQ: 280990142