martes, 6 de noviembre de 2007

OpenSuse 10.3 , Oracle, php y Apache: Oci8

Si instalamos los paquetes PHP5 y apache a través de yast no tendremos el modulo OCI8 para poder acceder a oracle. Hay dos opciones o compilar php5 con soporte OCI8 o bien obtener únicamente el modulo OCI8 que nos hace falta.

Paquetes preinstalados:
- autoconf
- php5
- apache2-mod_php5
- php5-pdo
- php5-devel
- php5-pear

Tener instalado Oracle y fijado el ORACLE_HOME, por ejemplo:
export ORACLE_HOME=/home/usuario/oracle/product/10.2.0/db_1

Ahora realizamos los siguientes pasos:
1) Descargamos el paquete oci8 -> http://pecl.php.net/get/oci8
2) Como root ejecutamos: pear5 install oci8-1.3.0.tgz (o la version que hayamos descargado)
3) durante el paso 2 nos preguntará por la ruta de ORACLE_HOME, como lo tenemos fijado antes, simplemente le damos a enter.
4) Para que se cargue la extensión en apache y php ejecutamos: echo "extension=oci8.so" > /etc/php5/conf.d/oci8.ini
5) Apuntamos la variable a las librerias de oracle. Ejecutamos: export LD_LIBRARY_PATH=$ORACLE_HOME/lib
6)Reiniciamos apache: rcapache2 restart

Para Comprobar que todo ha ido bien, ejecutamos:
php -r "phpinfo();" | grep oci8
y nos deberia mostrar algo asi:
oci8
oci8.connection_class => no value => no value
oci8.default_prefetch => 10 => 10
oci8.events => 0 => 0
oci8.max_persistent => -1 => -1
oci8.old_oci_close_semantics => 0 => 0
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20

No hay comentarios: