Esta es otra forma un poco más limpia para instalar la librería de oracle oci8 osx capitan 10.11 luego podrán ocuparla en MAMMP, XAMMP o instalaciones de Apache y PHP Nativas de OSX


Luego de instalar la Librería habra que realizar unas pequeñas acciones adicionales, dependiendo donde la quieran funcionando, en este tutorial la dejaremos predeterminada en una instalación nativa de osx con php 5.5.31.v
Para PHP 7.0 es muy similar, pero más abajo detallare el cambio necesario.

Mi proyecto de titulo, requiere desarrollar una aplicación web con conexión a una base de datos existente en oracle por lo cual para realizar las pruebas y conexiones, requiero una VPN y obviamente PHP configurado con la librería oci8 poder acceder a oci_connect().

La instalación es del todo sencilla, pero osx Capitan la complica un poco por su quizas exagerada seguridad al trabajar con archivos en el sistema.

Para Instalar Oracle oci8 osx Capitan 10.11 necesitaremos tener instalado.

  • PHP (Puede ser Mammp o esta guía)
  • autoconfig
  • pear

Nota Importante: Si durante la el curso de esta guía presentan un problema o error, es posible que deban deshabilitar la seguridad en OSX Capitan, esto se debe a que la carpeta /usr viene por defecto bloqueada.

Solución:

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

si necesitas volver a habilitarlo –  csrutil enable

Instalar Oracle OCI8 osx Capitan

(Install oci8 on osx Capitan): Primero que todo, descargamos los siguientes archivos: (Necesitas una cuenta oracle).

http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html

  • instantclient-basiclite-macos.x64-11.2.0.4.0.zip (26,034,836 bytes)
  • instantclient-sqlplus-macos.x64-11.2.0.4.0.zip (884,608 bytes)
  • instantclient-sdk-macos.x64-11.2.0.4.0.zip (651,903 bytes)

Ya con los archivos necesarios, nos aseguramos de tener las herramientas de desarrollador necesarias, para ello debes tener xcode instalado y sus herramientas de consola.

en un terminal digita:

xcode-select --install

Ahora instalaremos autoconfig (Si ya lo tienes instalado, omite este paso)

sudo su
(Ingresa tu contraseña)

cd /tmp
mkdir /tmp/autoconfig
cd /tmp/autoconfig

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

Ahora instalaremos Pear (Requiere PHP)

cd /usr/local
curl -O http://pear.php.net/go-pear.phar
php -d detect_unicode=0 go-pear.phar

Si has seguido la guía a pie de letra, no deberías tener problema. (si te aparece un error, prueba con sudo o sigue el consejo de más arriba – csrutil disable)

Para verificar la instalación de pear:

pear version

 

y el resultado sera parecido a esto:

oracle oci8 osx capitan

PEAR Version: 1.10.1
PHP Version: 5.5.31
Zend Engine Version: 2.5.0
Running on: Darwin MacBook-Pro-de-Mario.local 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64

intentamos por ultimo

pear upgrade pear
pear upgrade

ya estamos listos para proseguir con la instalación de Oracle oci8 osx Capitan para una instalación nativa o MAMMP.

Oracle Oci8 en osx Capitan

Creamos la carpeta donde lo instalaremos

sudo su
(Ingresa tu contraseña)
mkdir /Library/oracle
cd /Library/oracle

Movemos los archivos descargado a siguiente carpeta

mv /Users/TuUsuario/Downloads/instantclient-basic-macos.x64-11.2.0.4.0.zip /Library/oracle/
mv /Users/TuUsuario/Downloads/instantclient-sqlplus-macos.x64-11.2.0.4.0.zip /Library/oracle/
mv /Users/TuUsuario/Downloads/instantclient-sdk-macos.x64-11.2.0.4.0.zip /Library/oracle/

Descomprimimos y eliminamos los residuos

cd /Library/oracle
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

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

Accedemos a la carpeta y creamos los enlaces de oci8

cd /Library/oracle/instantclient_11_2
ln -s libclntsh.dylib.11.1 libclntsh.dylib

Para apoyo de ruby, podemos reparar los enlaces con la siguiente librería fix_oralib DYLD_LIBRARY_PATH. con el siguiente comando.

curl -O https://raw.githubusercontent.com/kubo/fix_oralib_osx/master/fix_oralib.rb
ruby fix_oralib.rb

y por ultimo

export OCI_DIR=/Library/oracle/instantclient_11_2

Para verificar que vamos bien encaminados, ejecutaremos la siguiente instrucción:

/Library/oracle/instantclient_11_2/sqlplus

debería aparecer el siguiente mensaje (ctrl + c para salir)

SQL*Plus: Release 11.2.0.4.0 Production on Tue Mar 22 14:57:14 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Enter user-name:

¿Todo ok hasta ahora?

El ultimo y más esperado paso.

cd /Library/oracle/instantclient_11_2
pecl channel-update pecl.php.net

Elije una Opción:

  • Para instalar oracle oci 8 osx Capitan en PHP 5.x (nativo o homebrew)
pecl install oci8-2.0.10
  • Para instalar oracle oci 8 osx Capitan en PHP 7.0 o superior (XAMMP o MAMMP)
pecl install oci8

Importante: Cuando aparezca el siguiente mensaje:

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 la siguiente ruta:

instantclient,/Library/oracle/instantclient_11_2/

y por fin terminamos de instalar la librería oci8 en osx capitan 10.11

Para instalaciones nativas oracle oci8 osx Capitan

deben generar su php.ini:

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

para comenzar a usarla, basta agregar en tu php.ini lo siguiente:

extension=oci8.so

finalizar con un

apachectl restart

 Para MAMMP o XAMMP con oracle oci8 osx Capitan

Abrir

/Applications/MAMP/Library/bin/envvars

añadir el siguiente path a la librería:

DYLD_LIBRARY_PATH="/Library/oracle/instantclient_11_2:/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"

Si no encuentran el archivo (depende de la versión) bajen el sdk de la versión de php que usan y editen el envvars desde ahí.

Si tuviste problema para instalar oci8 de oracle en osx capitan, intenta con el siguiente tutorial: http://www.apoyoti.com/oracle-oci8-php-osx-10-11-capitan/
Recomendado:


Apache y PHP nativo en OSX: http://www.apoyoti.com/apache-y-php-en-osx-10-11-capitan/
MySQL en una instalación nativa de OSX: http://www.apoyoti.com/mysql-y-phpmyadmin-en-osx-yosemite/

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

Compártelo!

Háblale a tus amigos sobre este articulo!