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.