perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Brandt <cbra...@buffalo.edu>
Subject Re: +Parent breaks Oracle connection?
Date Tue, 13 Nov 2007 13:34:22 GMT
Where are those ENV variables being set? Is it in:

     PerlRequire /opt/rt3/bin/webmux.pl

I believe you need to make sure the second perl interpreter runs the 
same startup scripts as the first since it is completely new.

Jim

George L. Roman wrote:
> I'm having trouble running RT using the
> 
>         PerlOptions +Parent
> 
> directive.
> 
> My httpd.conf file:
> 
>   NameVirtualHost *
> 
>   <VirtualHost *>
>     ServerName          default.name.com
>     DocumentRoot        "/var/www/html"
>     <Directory          "/var/www/html">
>         Options                 FollowSymLinks
>         AllowOverride           None
>         Order                   allow,deny
>         Allow                   from all
>     </Directory>
>   </VirtualHost>
> 
>   <VirtualHost *>
>     ServerName          rt.name.com
>     DocumentRoot        "/opt/rt3/share/html"
>     AddDefaultCharset   UTF-8
> 
>     ErrorLog            logs/error_log_rt
>     CustomLog           logs/access_log_rt combined
> 
>     # This PerlOptions line causes DB connect failure
>     #PerlOptions +Parent
> 
>     PerlRequire /opt/rt3/bin/webmux.pl
> 
>     <Location />
>         SetHandler      perl-script
>         PerlHandler     RT::Mason
>     </Location>
>   </VirtualHost>
> 
> This config file works great.  I can surf to rt (port 80) and login to
> RT.
> 
> When I uncomment the
> 
>     PerlOptions +Parent
> 
> line, however, and restart Apache, I get the following errors:
> 
>   DBI connect('ORA001,'rt',...) failed: ERROR OCIEnvNlsCreate. Check
>   ORACLE_HOME and NLS settings etc.
>   at /usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm line 106
> 
>   Connect Failed ERROR OCIEnvNlsCreate. (check ORACLE_HOME and NLS
>   settings etc.)
>   at /opt/rt3/lib/RT.pm line 220
> 
> I've placed
> 
>     qx,echo $ENV{'ORACLE_HOME'} > /tmp/debug,;
>     qx,env > /tmp/debug2,;
> 
> and other statements in strategic places throughout the code and have
> learned that when running without +Parent, the code can set %ENV and
> child processes pick up the changes.  When running with +Parent, child
> processes do not see any %ENV updates (and the Oracle connection fails).
> 
> Versions:
> 
>   oracle:       11.1.0.6.0
>   rt:           3.6.5
>   perl:         5.8.8
>   mod_perl:     2.03
>   HTML-Mason:   1.35
>   httpd:        2.2.6
>   linux:        2.6.22 (F7)
> 
> I've spent several hours on this trying different configurations but I
> can't get Oracle to come up with the +Parent option.  Any help is
> appreciated.  Thanks.
> 

-- 
Jim Brandt
Administrative Computing Services
University at Buffalo


Mime
View raw message