Activando soporte Oracle Instant Client + PHP5 en Debian Linux
Posted by vostorga - 27/11/09 at 11:11:09 amPara conectarse a una base de datos Oracle con PHP 5, se puede hacer a través del “Oracle Instant Client” y el modulo oci8 de pear.
Primero se debe descargar los paquetes “Basic” y “SDK” desde http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html. En mi caso, los archivos fueron
- instantclient-basic-linux32-10.2.0.3-20061115.zip
- instantclient-sdk-linux32-10.2.0.3-20061115.zip
Creamos directorios y descomprimimos
# mkdir -p /opt/oracle/instantclient
# cd /opt/oracle/instantclient
# unzip instantclient-basic-linux32-10.2.0.3-20061115.zip
# unzip instantclient-sdk-linux32-10.2.0.3-20061115.zip
Agregamos las librerías de oracle a las librerías del sistema
# echo /opt/oracle/instantclient >> /etc/ld.so.conf
# ldconfig
Creamos los vínculos simbólicos en caso de que el comando anterior no lo haya hecho:
# cd instantclient_10_2
# ln -s libclntsh.so.10.1 libclntsh.so
# ln -s libocci.so.10.1 libocci.so
Instalamos paquetes necesarios para la configuración del módulo oci8, entre ellos Pear
# apt-get install php-pear php5-dev build-essential
En teoría el comando pecl install oci8 debería de funcionar, pero aparentemente no puede trabajar con las librerías de Oracle Instanclient, así que procedemos a ejecutar los pasos manualmente
# mkdir -p /usr/local/src
# cd /usr/local/src
# pecl download oci8
# tar xfz oci8-1.3.5.tgz
# cd oci8-1.3.5
# phpize
# ./configure –with-oci8=shared,instantclient,/opt/oracle/instantclient/instantclient_10_2
# make
# make install
El nombre del archivo oci8-1.3.5.tgz cambiará dependiendo de nuevas versiones
Luego activamos el módulo oci8 en el archivo php.ini (/etc/php5/apache2/php.ini and /etc/php5/cli/php.ini), con la siguiente línea:
extension=oci8.so
Este paso tarde o temprano tendrá que ejecutarse, asi que mejor de una vez configuramos el archivo tnsnames.ora
# mkdir -p /opt/oracle/instantclient/instantclient_10_2/network/admin
Editamos el tnsnames.ora de acuerdo a nuestras necesidades.
# vi /opt/oracle/instantclient/instantclient_10_2/network/admin/tnsnames.ora
Ahora se procede a reiniciar Apache y listo :), podemos auxiliarnos de phpinfo() para comprobar que el módulo oci8 está cargado.
3 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a comment
Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds.
Valid XHTML and CSS.
[…] http://vostorga.org/?p=414 AKPC_IDS += "2883,"; […]
Pingback by Activando soporte Oracle Instant Client + PHP5 en Debian Linux | DbRunas — November 27, 2009 #
lo llego a ver hace dos semanas… y me hubiera venido genial XD
Comment by Alionka — April 14, 2010 #
Hola, con que opciones debemos configurar PHP antes de instalarlo?
Saludos
Comment by Peter — February 13, 2012 #