Para Capitan, te recomiendo leer: http://www.apoyoti.com/oracle-oci8-osx-capitan-10-11/

Es esencial para mi utilizar la extensión de Oracle oci8 PHP en mi Macbook Pro.

En mi entorno de trabajo se utiliza la base de datos Oracle y la mayoría de sus plataformas son web y están entre PHP y Coldfusion por lo cual me toco la tarea de implementar la extensión ic8 y la librería en PHP para hacer compatible mi OSX 10.11.

Poca información confiable hay en ingles y poco o nada en español así que les explicare paso a paso como hice para instalar y configurar Oracle ic8 PHP en sus MAC.

Hay posibilidad de que algunas cosas que explique aquí ya lo hayas intentado, de ser así omite la instrucción y continua con el siguiente paso.

Paso 1: Necesita tener Apache y PHP en OSX 10.10,/Sirve para Capitan) si no lo tiene, siga el enlace.

Verificar si tenemos corriendo Oracle ic8 PHP OSX: Desde php intenta conectarte a tu base de datos, si recibes un error similar a este: Fatal error: Call to undefined function oci_connect() puede deberse a que no has habilitado la extensión en tu archivo de configuración de PHP

Abre tu PHP.ini, debería estar en la siguiente ubicación /etc/php.ini si no lo encuentras en esa ubicación y en ninguna otra, deberas crearlo (sobre todo si utilizaste nuestro tutorial para configurar apache y php):

sudo cp /etc/php.ini.default /etc/php.ini

El comando anterior creo una copia del archivo default de php.ini, (si ya lo tenias no lo ejecutes o perderás las configuraciones previas que hubieses realizado en el.)

Para editar los archivos de aquí en adelante utilizaremos el editor «nano» pero si lo prefieres puedes utilizar con el cual te sientas mas cómodo.

sudo nano /etc/php.ini

buscaremos la extensión

;extension=php_oci8.dll

 y le quitaremos el comentario «;» dejándolo de la siguiente manera.

extension=php_oci8.dll

y probemos nuevamente conectarnos a nuestra base de datos.

Si pasa sin error, felicitaciones pero si aparece un error similar a este: PHP Warning:  PHP Startup: Unable to load dynamic library ‘/usr/lib/php/extensions/no-debug-non-zts-20100525/php_oci8.dll aun nos queda mucho por hacer…

Configurar una conexión simple a db oracle con php.

si te estabas preguntando como comprobar si Oracle oci8 PHP OSX 10.10 esta corriendo, aquí te dejo un simple ejemplo en PHP que lo único que hace es comprobar la conexión.

<?php
    $db = "(DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=192.168.1.100)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SID=TUSID)
    ))";

    if($c = OCILogon("system", "aqui tu contraseña", $db))
    {
        echo “La conexión a Oracle fue existosa.\n”;
        OCILogoff($c);
    }
    else
    {
        $err = OCIError();
        echo “La conexión ha fallado.” . $err[text];
    }
?>

Remplaza los datos por los de tu conexión.

Para instalar pear y autoconfig (SOLO EN CAPITAN OSX 10.11)

NOTA: En capitan esta protegida la carpeta /usr/ por lo cual deberemos hacer algunos pasos adicionales.

  1. Reinicia tu MC.
  2. Antes que inicie presiona CMD + R para entrar en modo restauración
  3. Desde utilidades, selecciona el terminal
  4. Deshabita la seguridad con el siguiente comando: csrutil disable
  5. Recibiras el siguiente mensaje: that SIP was disabled.
  6. desde el menu  reinicia tu MAC.

si necesitas volver a habilitarlo –  csrutil enable.

Descargar Oracle oci8 PHP OSX 10.11 – Capitan

Lo primero antes de instalar Oracle oci8 PHP en nuestro sistema, es bajar las últimas librerías desde Oracle en la siguiente dirección: http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html las que utilizamos para este tutoría fue la versión 11.2.0.4.0 (64-bit) para Mac.

del enlace de oracle, bajar los siguientes archivos:

  • Basic: instantclient-basic-macos.x64-11.2.0.4.0.zip
  • SQLplus: instantclient-sqlplus-macos.x64-11.2.0.4.0.zip
  • SDK: instantclient-sdk-macos.x64-11.2.0.4.0.zip

ahora nos cambiaremos a root del sistema y nos moveremos a una carpeta temporal, para realizar la configuración, instalación y compilar el código que sea necesario.

sudo su
cd /tmp
mkdir oci8
cd oci8

ahora movemos los archivos recién descargados a la carpeta que acabamos de crear. (Remplaza la ubicación por la cual descargaste tus archivos)

mv /Users/CarpetaUsuario/Downloads/instantclient-basic-macos.x64-11.2.0.4.0.zip /tmp/oci8/
mv /Users/CarpetaUsuario/Downloads/instantclient-sqlplus-macos.x64-11.2.0.4.0.zip /tmp/oci8/
mv /Users/CarpetaUsuario/Downloads/instantclient-sdk-macos.x64-11.2.0.4.0.zip /tmp/oci8/

Preparar el equipo para instalar las librerías Oracle

Requerimientos para la db Oracle oci8 para PHP:

  • Pear
  • Autoconfig
  • Xcode command line tools

Para instalar Xcode command line tools:

xcode-select --install

Para Instalar autoConfig:

sudo su
cd /tmp
cd oci8
curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-latest.tar.gz
tar xzf autoconf-latest.tar.gz cd autoconf-* ./configure --prefix=/usr/local
make
make install

 Verificamos la versión instalada

pear version

nos movemos a la carpeta de instalación

cd /usr/local

y obtenemos pear (si te dice permisos denegado, antepone sudo)

curl -O http://pear.php.net/go-pear.phar

Instalamos

sudo php -d detect_unicode=0 go-pear.phar

Dale «YES» a todo, durante la instalación

volvemos a verificar:

pear version

si nos devuelve lo siguiente, es que esta todo correcto

PEAR Version: 1.9.4
PHP Version: 5.4.17
Zend Engine Version: 2.4.0 Running on: Darwin admins-MacBook.local 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64

comprobamos y actualizamos para finalizar

pear upgrade pear
pear upgrade

Instalar Oracle oci8 PHP OSX 10.11 – Capitan

volvemos a donde quedamos con la descarga de oracle, nos cambiamos a su

sudo su
cd /tmp/oci8

Extraemos los archivos descargados

unzip instantclient-basic-macos.x64-11.2.0.4.0.zip
unzip instantclient-sdk-macos.x64-11.2.0.4.0.zip
unzip instantclient-sqlplus-macos.x64-11.2.0.4.0.zip

Copiamos los archivos necesarios en los directorios adecuados

cp /tmp/oci8/instantclient_11_2/sdk/include/*.h /usr/include
cp /tmp/oci8/instantclient_11_2/sqlplus /usr/bin
cp /tmp/oci8/instantclient_11_2/*.dylib /usr/lib
cp /tmp/oci8/instantclient_11_2/*.dylib.* /usr/lib

creamos los símbolos de enlaces

cd /usr/lib
ln -s libclntsh.dylib.11.1 libclntsh.dylib

y probamos que todo este como corresponde.

/usr/bin/sqlplus

si nos devuelve algo similar a esto.

SQL*Plus: Release 11.2.0.4.0 Production on Thu Jun 19 14:31:23 2014
Copyright (c) 1982, 2013, Oracle.  All rights reserved.

es que vamos por el camino correcto, para salir de la ventana anterior presione ctrl + c

ahora descargamos e instalamos oracle pecl packpage

cd /tmp/oci8
sudo pecl channel-update pecl.php.net
sudo pecl install oci8-2.0.10

durante la instalación te preguntara algo similar a esto:

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] :

Indicale que lo instale en la siguiente linea (IMPORTANTE)

instantclient,/usr/lib/

Ya con este ultimo paso, tenemos Oracle ic8 PHP OSX 10.10 instalado en nuestro mac, ahora para finalizar, agregaremos la siguiente extensión al final de nuestro archivo php.ni y con esto finalizamos su configuración.

extension=oci8.so

reiniciamos apache.

apachectl restart

Ahora vuelve a probar la conexión de php con oracle.

La mayor parte de la información contenida para Oracle oci8 PHP en OSX 10.11 Capitan de esta tutoría, fue obtenida de la siguiente pagina en ingles: http://fontera.co….-os-x-10-9-x/

Gracias y compartan.

Suscribete a nuestra lista

Mantente informado sobre las novedades que ofrecemos en nuestra web, no te llenaremos de Spam ni entregaremos tus datos a terceros.

Gracias por suscribirte a nuestra lista

Pin It on Pinterest

Share This