Comunidad Orfeo

Cómo habilitar la librería oci8 en PHP5 utilizando Instant Client de Oracle en Ubuntu

Enviado por Oscar Paruma.

Cómo habilitar la librería oci8 en PHP5 utilizando Instant Client de Oracle en Ubuntu

1. Instalar módulos y librerías PHP5.

apt-get install php5-common php5 php5-dev libapache2-mod-php5 php5-cli

2. Instalar los paquetes build-essential y php-pear.

apt-get install build-essential php-pear

3. Instalar la librería libaio1.

apt-get install libaio1

4. Descargar la última versión de SDK e Instant Client de Oracle.
(archivos SDK.zip y Basic.zip versión 11.1.0.6.0)

http://www.oracle.com/technology/software/tech/oci/instantclient/index.html

5. Crear un directorio para extraer los archivos zip.

mkdir /opt/oracle

6. Mover los archivos zip al directorio /opt/oracle

mv /ruta/archivos/zip/Basic.zip /opt/oracle
mv /ruta/archivos/zip/SDK.zip /opt/oracle

7. Ingresar al directorio /opt/oracle

cd /opt/oracle

8. Descomprimir los archivos zip

unzip \*.zip

9. Renombrar el directorio instantclient_11_1

mv instantclient_11_1 instantclient

10. Ingresar al directorio instantclient

cd instantclient

11. Crear enlaces simbólicos

ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so

12. Crear un directorio src en /opt/oracle

mkdir /opt/oracle/src

13. Ingresar al directorio src, descargar el archivo tar oci8 (oci8-1.2.4.tgz)
y guardarlo en /opt/oracle/src

cd /opt/oracle/src

http://pecl.php.net/package/oci8

14. Extraer las librerías oci8

tar xzvf /opt/oracle/src/oci8-1.2.4.tgz

15. Ingresar al directorio oci8-1.2.4 y ejecutar phpize
cd /opt/oracle/src/oci8-1.2.4
phpize

16. Definir la variable de ambiente ORACLE_HOME
export ORACLE_HOME = /opt/oracle/instantclient

17. Configurar oci8 para instalarlo con los parámetros necesarios
./configure --with-oci8=share,instantclient,/opt/oracle/instantclient

18. Ejecutar make para compilar
make

19. Instalar oci8
make install

20. Crear el archivo oci8.ini en /etc/php5/apache2 (o en la ruta donde se encuentran los archivos que
indican las librerías de PHP5 a cargar) y agregar la siguiente línea
extension=oci8.so

21. Reiniciar el servicio apache
/etc/init.d/apache2 restart

22. Para verificar que la librería oci8 quedó habilitada se debe crear un archivo llamado phpinfo.php
en /var/www (o en la ruta que esté configurada como DocumentRoot) que contenga lo siguiente

<?php
phpinfo();
?>

23. Ingresar en un navegador Web la dirección URL http://localhost/phpinfo.php y verificar que aparece oci8.

Alternativa de instalación:

14. Ejecutar pecl install oci8-1.2.4.tgz

15. Cuando se solicite la ruta de los archivos de Oracle se debe escribir
shared,instantclient,/opt/oracle/instantclient

16. Continuar en el paso 20.

Alternativa de instalación:

20. Insertar la línea extension=oci8.so en el archivo php.ini ubicado en /etc/php5/apache2 y
continuar en el paso 21.
echo extension=oci8.so >> /etc/php5/apache2/php.ini

Referencias:

http://ubuntuforums.org/showthread.php?t=92528
http://ubuntuforums.org/archive/index.php/t-639976.html