Hi all,
I've read several messages and articles about php/oci8 combination, but I still have some issues not resolved.
On this system:
Debian (stable), PHP 4.0.6, Oracle 8.1.7, Apache 1.3.9-14, I compile php like this:
#Begin
ORACLE_HOME=/oracle/product/8.1.7
./configure \
--prefix=/usr \
--with-apxs \
--with-config-file-path=/etc/php4/apache \
--with-gd=shared \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--enable-gd-native-ttf \
--enable-apc \
--enable-inline-optimization \
--with-oci8=${ORACLE_HOME} |
tee /tmp/phpbuild.log
make | tee -a /tmp/phpbuild.log
make install | tee -a /tmp/phpbuild.log
#End
I ran phpize on ext/oci8 and also ran autoconf on top level of the source tree, before that.
The problem is that it doesn't build the oci8.so and php_apc.so in the modules directory!
Anybody knows why that?
What I have already tried:
On the ext source tree I find the oci8.lo and php_apc.lo files. Then, first I tried to plain rename them to .so.
And put the following on apache initialization:
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/product/8.1.7
PATH=$PATH:$ORACLE_HOME/bin
ORA_NLS=$ORACLE_HOME/ocommon/nls/admin/data
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
NLS_LANG="BRAZILIAN PORTUGUESE_BRAZIL.WE8ISO8859P1"
NLS_LANG33=$ORACLE_HOME/ocommon/nls/admin/data
LD_PRELOAD=$ORACLE_HOME/lib/libclntsh.so.8.0
LD_LIBRARY_PATH=/lib:/usr/lib:$ORACLE_HOME/lib
unset LANG
export (...all of them)
Result: APC works fine, and so OCI8, BUT...
on apache error.log it tells me oci8 could not be loaded. Things are working probably just because of the LD_PRELOAD line above.
I've tried then to generate the .so in the right way:
cc -shared -o oci8.so oci8.lo (is it the right way?)
Now apache tells me that oci8.so is a "invalid library (maybe not a PHP library) on Unknown line 0"
I just want to understand, can somebody help me understand it?
Thank you in advance,
Diego Morales.