Re: Error appears in web log but script runs ok on the command line

Bruce Johnson <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Message-ID <[email protected]>
On Oct 22, 2013, at 10:50 AM, Alexander Foken <[email protected]> wrote:

> Just a wild guess:
> 
> mod_perl sets %ENV, but *AFTER* loading DBD::Oracle, so the XS part of DBD::Oracle won't see the required environment variables. It is possible to manipulate %ENV from inside Perl (this includes mod_perl) and then load DBD::Oracle, or at least it was possible for a long time.

DBD::Oracle isn't being loaded until the script is run on the web server; in theory setting the env in startup.pl is supposed to do this.

The mod_perl manual even has a specific troubleshooting section for this problem, using DBD::Oracle as the example.

<http://perl.apache.org/docs/2.0/user/troubleshooting/troubleshooting.html#C_Libraries_Don_t_See_C__ENV__Entries_Set_by_Perl_Code>

The solution in this section *still* doesn't work.

I fear we've run into the same thing as this guy:

<http://stackoverflow.com/questions/17050541/unable-to-use-dbdoracle-from-apache-mod-perl> and we just don't have the time/patience to screw around trying all the various versions and builds.

At this point we're giving up on getting it to work in a mod_perl handler, and just using CGI. If we have performance issues we'll revisit the issue.


-- 
Bruce Johnson
University of Arizona
College of Pharmacy
Information Technology Group

Institutions do not have opinions, merely customs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.