Saludos,
El escenario que estaba trabajando es el siguiente:
Servidor web con LAMP, pero aparece una base de datos oracle para tareas específicas en otro servidor, entonces por defecto no tenemos soporte en nuestro servidor web para conectarnos a este tipo de base de datos y desde luego hay que instalar algunas cosas si no queremos obtener el mensaje de Call to undefined function ocilogon en nuestros scripts de php.
Manos a la obra:
1. Verificar que tengamos instalados estos paquetes (no se si son necesarios todos, información leída de otros blogs):
sudo apt-get install php5-dev php5-cli php-pear libaio1
2. Descargar e instalar el cliente llamado Oracle Instant Client, que se puede descargar desde su sitio web . Actualmente la ultima versión de estos 3 paquetes son la 11.2.0.1.0, que están en .zip o en .rpm y que podemos escoger los rpm y convertirlos con alien, tarea que ya hizo alguien y que he querido usar estos paquetes.deb desde aquí: http://zital.no-ip.org/debian/oracle/ son una versión más viejita pero me ha funcionado a la perfección. Para instalarlos:
dpkg -i oracle-instantclient-basic_11.1.0.1-2_i386.deb
dpkg -i oracle-instantclient-devel_11.1.0.1-2_i386.deb
dpkg -i oracle-instantclient-sqlplus_11.1.0.1-2_i386.deb
La ruta donde quedan estos archivos instalados es: /usr/lib/oracle/11.1.0.1/ esto lo usaremos en otro paso.
No es necesario comprobar que existan estos dos archivos o enlaces a los originales, pero tener en cuenta por si falla algo:
libclntsh.so
libocci.so
3. Luego ejecutar el comando pecl install (PECL es un repositorio de extensiones de PHP, proporcionando un directorio de todas las extensiones conocidas y que alberguen las instalaciones para la descarga y el desarrollo de extensiones de PHP.) , para crear el oci8.so necesario para nuestro objetivo final:
sudo pecl install oci8
Esto nos pide la ruta al directorio de oracle, que es lo que anotamos en el punto 2
Te debe salir algo así:
PHP Api Version: xxxxxx Zend Module Api No: xxxxxx Zend Extension Api No: xxxxxx 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:
- Escribe el número 1 y presiona enter
- Lluego escribe esto como ruta o la que corresponda, según la versión que descargaste o donde hayas descomprimido los archivos:
instantclient,/usr/lib/oracle/11.1.0.1/client/lib/
- Lluego, nuevamente te pregunta, presiona enter para continuar
Si toda ha salido bien, se ha creado el archivo de soporte oci8.so ahora solo toca agregar extension=oci8.so a la configuracion de apache en /etc/php5/apache2/php.ini luego reinicia el servicio:
sudo /etc/init.d/apache2 restart
y verifica con un phpinfo que te salga el soporte para oci8 como muestra esta imagen. 
Es todo.. ahora ejecuten su script php de prueba de conexión a la base de datos ORACLE y verifiquen..!!




Buena Post!!
espero k funcione maN!
Muy buen manual, lo aplique a Ubuntu Server 10.04 64 bits, y todo va muy bien.
[...] Soporte ORACLE para php5 en Ubuntu marzo, 2010 3 comentários LikeBe the first to like this post. [...]
Gracias, me sirvió mucho