I'm having a good deal of difficulty getting OIC to be loaded by php. I've tried solutions from various posts here, but have had no luck so far. When starting httpd, the following messages occur:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/libnnz10.so' - /usr/lib/php/modules/libnnz10.so: undefined symbol: nltrc_entry in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/libocci.so.10.1' - /usr/lib/php/modules/libocci.so.10.1: undefined symbol: OCIPGetErrorMessage in Unknown on line 0
I have exported LD_LIBRARY_PATH and even ORACLE_HOME (even though the latter shouldn't make a difference) and ldd shows that all the correct libraries are loading:
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x009ea000)
libm.so.6 => /lib/tls/libm.so.6 (0x0074c000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00b0d000)
libc.so.6 => /lib/tls/libc.so.6 (0x00d33000)
libc.so.6 => /lib/tls/libc.so.6 (0x00111000)
My guess is that OIC was compiled against another version of glibc seeing as the modules are loading all the shared libs and I'm still getting unresolved symbols, but I could be wrong about that too. Is there anyone out there in Oracle land who would be able to give this young novice a bit of direction?
For your information, here is my system:
CentOS release 4.2 (Final)
Oracle Instant Client 10.2.0.1-1
To clarify a few things, loading the modules thru the LD_LIBRARY_PATH has not worked yet and even adding the directory to /etc/ld.so.conf has not worked. I've copied the contents of the OIC lib directory to the php modules directory and made php load these modules in php.ini thru extension=module. It would seem that this is not needed when reading the instructions provided by oracle, but without it, php doesn't even attempt to load the modules. Perhaps this is where I've gone wrong, but I certainly would value an outsider's guidance.
Message was edited by: