martes, 21 de agosto de 2012

Instalar oci8 en xampp bajo linux

Primero debemos tener instalado xampp en nuestro sistema (yo lo hice en /opt) si no lo tienes instalado lo puedes descargar de:
http://www.apachefriends.org/en/xampp-linux.html
Acontinuación se detalla los pasos para habilitar en XAMPP el uso de la extension oci8 de php que permita la conexion con bases de datos ORACLE
  1. Bajarse el instant client de oracle 10g ú 11g de Oracle, esto lo encuentras en la seccion de descargas de la pagina de ORACLE debes tener una cuenta para que permita la descarga.
    Descargamos el archivo yo lo hice en formato zip: instantclient-basic-linux32-10.2.0.3-20061115.zip

  2. Creamos una carpeta llamada instantclient en /opt/lampp/lib/ y descomprimimos los archivos en ese directorio:
    unzip instantclient-basic-linux32-10.2.0.3-20061115.zip
    y creamos un enlace simbolico:
    ln -s /opt/lampp/lib/libclntsh.so.10.2 /opt/lampp/lib/libclntsh.so.9.0 si no se crea el enlace simbolico nos mostrara un error al realizar la instalacion del oci8

  3. En el directorio /opt/lampp/lib/instantclient/ creamos el archivo tnsnames.ora

  4. Ejecutamos
    /opt/lampp/lampp oci8
    nos aparecera un cuadro de dialos donde nos pide ingresemos el directorio donde tenemos instalado los archivos del isntant client:
    Please enter the path to your Oracle installation:
    ORA_HOME [/opt/lampp/lib/instantclient/] (en nuestro caso sera: /opt/lampp/lib/instantclient/)
    installing symlinks...
    patching php.ini...
    OCI8 add-on activation likely successful.
    LAMPP: Stopping Apache with SSL...
    LAMPP: Starting Apache with SSL...
    Y listo, la librería esta instalada.

Si revisamos las configuracion de nuestro servidor por medio del "phpinfo();" nos deberia aparece ya hablitado el modulo de oci8 en nuestro servidor.
Ya podemos probar con nuestras aplicaciones.

4 comentarios:

  1. Lo hice en xampp y no funciona...las páginas php se descargan cuando haces referencias a la url de las mismas en el navegador

    ResponderEliminar
  2. Me explico...tengo un server con Oracle Enterprise Linux...64bits..y tengo instalada la BD Oracle 11g R2...y también tengo el XAMPP descomprimido en /opt .... me baje el instantclient 11g y realicé el procedimiento que indicó Edgar Solorzano pero no me funcionaba, así que entré en otro foro en donde indicaban copiar el contenido de $ORACLE_HOME/lib y pegarlo en /opt/oracle/instantclient y luego hacer /opt/lampp/lampp oci8

    y cuando solicitara la runa del instantclient habia que colocar /opt/oracle/instantclient que es la ruta del directorio en donde pegamos los archivos copiados de $ORACLE_HOME/lib ... bueno..este comando "funcionó" ..."habilitó" el oci8 en el php.ini ... pero cuando le dices http://localhost entonces el navegador actua como si intentaras descargar un archivo (que es la página web de localhost)

    ResponderEliminar
  3. si sale todo bn se ejecuta y todo pero la cuestión es que me sale este error
    Oci_connect PHP () TNS: no se pudo resolver el identificador de la conexión (ORA-12154)

    ResponderEliminar
    Respuestas
    1. como estas realizando la conexión con la BD, el error es que no puede conectar a la BD usando el identificador actual, puedes poner el código como estas realizando la conexión para revisar si es ahi el problema

      Eliminar