Apache, PHP y Oracle XE en Ubuntu
En este post explicaré la forma de conectar Oracle XE con PHP. Para referencia de como instalar Oracle XE en Ubuntu, está el siguiente post:
Lo primero que hay que hacer, es instalar el cliente de Oracle XE:
# sudo apt-get update
# sudo apt-get install oracle-xe-client
Es necesario compilar la extensión OCI8 de Oracle para PHP, por tanto hay que instalar los paquetes necesarios para dicha compilación:
# sudo apt-get install php-pear php5-dev build-essential
Y ahora compilamos:
# sudo pecl install oci8
El proceso de compilación nos va a pedir la ruta de la librería del cliente de Oracle. Ya que tenemos instalado el cliente en nuestra computadora, la ruta viene siendo la siguiente:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/client
Una vez hecha la compilación, lo siguiente es configurar Apache/PHP.
# sudo gedit /etc/php5/apache2/php.ini
Agregamos al archivo la línea:
extension=oci8.so
Guardamos el archivo php.ini y cerramos gedit.
Por último, reiniciamos Apache:
# sudo /etc/init.d/apache2 restart
Nos resta hacer una prueba de conexión, esto lo mostraré en el siguiente post, pues quiero hacer mención de la librería ADOdb para PHP.
Con información de:
on Septiembre 3, 2007 on 12:03 pm
Estoy tratando de seguir los pasos para tener php con oracle cuando compilo oci8 con pecl, en el archivo oci8.c me larga muchos errores de sintaxis del codigo.Algun comentario ?
on Septiembre 7, 2007 on 7:51 am
Por qué no pones el listado de errores, para ver específicamente dónde te está dando problemas y ver si te puedo ayudar.
on Septiembre 20, 2007 on 2:05 am
Hola..
He consegido con exito que al compilar yo mismo el apache y el php (tengo el server 10g en la misma compu) la extencion oci8 me funcione… pero lo que quiero ahora es poder compilar solo la extencion oci8 de manera que el resto de la instalacion la maneje el apt… esto para que las actualizaciones se manejen automaticamente. El punto es que no consigo que me funcione… conoces alguna forma de que esto sea posible…. ???
on Noviembre 8, 2007 on 10:30 am
Hola, muchas gracias por tu guia. Al ejecutar
sudo pecl install oci8 e indicarle la ruta de ORACLE_HOME obtengo este mensaje al finalizar
checking Oracle version… configure: error: Oracle-OCI8 needed libraries not found
ERROR: `/tmp/pear/cache/oci8-1.2.4/configure –with-oci8′ failed
on Noviembre 10, 2007 on 8:04 am
Hola, hasta aqui todo muy bien y muchas gracias amigo por tu post.
Pero estoy esperando el siguiente post “Nos resta hacer una prueba de conexión, esto lo mostraré en el siguiente post, pues quiero hacer mención de la librería ADOdb para PHP.”
Muchas gracias
on Noviembre 10, 2007 on 10:55 am
Qué tal Carlos, he dejado abandonado el proyecto y precisamente este fin de semana estoy por continuarlo. Dame oportunidad de reconfigurar mi equipo y yo creo que para el lunes pongo un ejemplo de como hacer un query hacía Oracle desde PHP.
on Noviembre 14, 2007 on 1:17 pm
tengo el mismo problema que Carlos Andres
checking Oracle version… configure: error: Oracle-OCI8 needed libraries not found
ERROR: `/tmp/pear/cache/oci8-1.2.4/configure –with-oci8′ failed
la plataforma esta a 32 bits y según he leido hay esta el problema pero no lo soluciono
abierto a sugerencias
on Noviembre 28, 2007 on 5:52 am
hola, prueba lo siguiente:
cuando hagas:
>sudo make install
te dirá lago parecido a :
Installing shared extensions: /usr/lib/php5/20060613+lfs/
entonces haces:
>cd /usr/lib/php5/20060613+lfs
>ldd oci8.so
y te dirá algo como:
linux-gate.so.1 => (0xffffe000)
libclntsh.so.11.1 => /opt/oracle/instantclient/libclntsh.so.11.1 (0xb6548000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb63f5000)
libnnz11.so => /opt/oracle/instantclient/libnnz11.so (0xb624a000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb6246000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb621f000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb6208000)
libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb61f1000)
/lib/ld-linux.so.2 (0×80000000)
libaio.so.1 => not found
Son librerias dinamicas, si en alguna te pone “not found” … entoces deberias instalartelas con apt-get, haces un restart del apache y pruebas a ver si te funciona el oci.
Un saludo y suerte.
on Diciembre 12, 2007 on 8:43 pm
hola a todos,
en mi caso consigo terminar el proceso de compilacion-instalacion pero al intentar realizar la conexion a la base de datos con ocilogon(”user”,”pass”); me devuelve el siguiente error
Warning: ocilogon() [function.ocilogon]: ORA-12162: TNS:net service name is incorrectly specified in /var/www/bd2/practica7/pr71.php on line 12
ya he probado mil cosas pero nada… si no es mucha molestia ¿podrian echarme un cable?
un saludo y gracias