I have resolved the problem. I am not exactly sure why it didn't work the way I had it, but here's what I was doing wrong apparently.
I had my LD_LIBRARY_PATH set in /etc/httpd/conf.d/php.conf with the SetEnv directives
# Oracle env variables
SetEnv TNS_ADMIN /afs/cern.ch/project/oracle/admin
SetEnv LD_LIBRARY_PATH /usr/lib/oracle
In phpinfo() I could see that these were set in both the "Environment" and "PHP Variables" sections.
I removed those directives from php.conf and instead exported them into /etc/sysconfig/httpd
export LD_LIBRARY_PATH=/usr/lib/oracle
export TNS_ADMIN=/afs/cern.ch/project/oracle/admin
This is what I was doing before, but for some reason I thought it would be cleaner if the vars were set in php.conf. By setting the vars this way they appear in the "Environment" section but not the "PHP Variables" section, and I can use oci8 without errors.
I don't really know why one way works and not the other, but it seems it must have to do with the time the vars are visible to apache, perhaps oci8 is not loaded with the vars in the first case, and it fails without an error message?
[!--quoteo(post=382340:date=Jun 10 2006, 04:06 PM:name=e2ka)--][div class=\'quotetop\']QUOTE(e2ka @ Jun 10 2006, 04:06 PM) [snapback]382340[/snapback][/div][div class=\'quotemain\'][!--quotec--]
I don't really know why one way works and not the other, but it seems it must have to do with the time the vars are visible to apache, perhaps oci8 is not loaded with the vars in the first case, and it fails without an error message?
[/quote]
I tested the above theory by removing /etc/sysconfig/httpd and relying only on /etc/httpd/conf.d/php.conf
If directives happen in this order:
LoadModule php5_module modules/libphp5.so
SetEnv LD_LIBRARY_PATH /usr/lib/oracle
SetEnv TNS_ADMIN /afs/cern.ch/project/oracle/admin
Everything looks to be set up correctly but oci8 will not work. No error messages in the logs and no clues as to why things aren't working! (Is this a PHP bug?)
If you have things in this order:
SetEnv LD_LIBRARY_PATH /usr/lib/oracle
SetEnv TNS_ADMIN /afs/cern.ch/project/oracle/admin
LoadModule php5_module modules/libphp5.so
The setup appears the same in phpinfo() and everything works. Order matters! I hope this helps someone out in the future.