miércoles, 28 de julio de 2010

Instalación del cliente de Oracle OCI8 para PHP5 en en Ubuntu Server

Aunque lo más habitual es utilizar MySQL como base de datos conjuntamente con PHP, es posible utilizar prácticamente cualquier otro tipo de base de datos. En las próximas líneas veremos cómo configurar PHP5 para que pueda conectarse con bases de datos Oracle. Hay diferentes formas de realizar esta configuración. En esta guía utilizaremos el "Oracle Instant Client" de Oracle y el módulo OCI8.

Antes de instalar este módulo para PHP, es necesario tener instalado un servidor web con soporte para php y el Oracle en nuestra maquina.

RECOMENDACIONES:
Para mayor comodidad, estar como administrador en todo el proceso de instalacion.

Bueno comencemos con la instlacion.

1.- Creando directorios.

El primer paso consite en crear la carpeta donde instalaremos el cliente de Oracle, por ejemplo /opt/oracle.

# mkdir -p /opt/oracle

2.- Obtener paquetes.

despues de crear las carpetas es necesario obtener el "Oracle Instant Client", que se puede descargar de forma gratuita desde el Website de Oracle. Dentro de la página de Oracle debemos buscar los paquetes Zip correspondientes a nuestra plataforma y a la versión de Oracle con la que queramos conectar y descargar los paquetes Basic y el SDK. Tras su descarga podemos copiar ambos archivos en la carpeta que hemos creado y descomprimirlos.

#unzip oracle-instantclient-basic-10.2.0.4-1.i386.zip
#unzip oracle-instantclient-devel-10.2.0.4-1.i386.zip
#mv instantclient_10_2 instantclient


3.- Cambios a los archivos descargados.

Como último paso de la instalación del cliente debemos crear un par de enlaces simbólicos a las librerías que se han descomprimido.

#cd /opt/oracle/instantclient
#ln -s libclntsh.so.10.1 libclntsh.so
#ln -s libocci.so.10.1 libocci.so

4.- Configurar PHP5

Una vez hemos instalado el cliente de Oracle hay que configurar PHP5, para lo cual utilizaremos el módulo OCI8 de PECL. El primer paso que debemos llevar a cabo para ello es instalar con apt-get todos los paquetes necesarios.

# apt-get install php5-dev libaio1 php-pear build-essential

Tras esto ya podemos utilizar el comando pecl para instalar el módulo OCI8.

5.- Configurar PHP5

#pecl install oci8

Al ejecutar este comando se nos pedirá la ruta de instalación del cliente de Oracle, a lo cual deberemos responder instantclient,/opt/oracle/instantclient y pulsar Intro.

PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
1. Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client : autodetect

1-1, 'all', 'abort', or Enter to continue:

Ya solo nos queda activar el módulo que acabamos de compilar en PHP,
para lo cual editaremos el archivo "/etc/php5/apache/php.ini" añadiendo la siguiente línea.

#vim /etc/php5/apache2/php.ini

Añadimos la línea:
extension=oci8.so

Ya se puede reiniciar apache y comprobar la salida de phpinfo(), donde si todo ha ido bien debería aparecer un bloque con los datos de configuración del módulo oci8.

6.- Reiniciamos Apache

#/etc/init.d/apache2 restart

7.- crear phpinfo.php para verificar el modulo oci8

#vi /var/www/phpinfo.php

// Muestra toda la información, por omisión INFO_ALL
phpinfo();

// Mostrar sólo la información de módulos.
// phpinfo(8) produce el mismo resultado.
phpinfo(INFO_MODULES);

No hay comentarios:

Publicar un comentario