Oracle Driver para Laravel 4|5|6|7 (Linux server)

Para empezar a utilizar una base de datos de Oracle necesitaremos tener instalado la extensión para PHP oci8.

Si no la tenemos instalada tendremos que hacer los siguientes pasos:

Instalar Oracle Instant Client

Necesitaremos “instantclient-basic” y “instantclient-devl” instalados en nuestro sistema para montar la extensión de oci8.

cd /usr/src
wget https://download.oracle.com/otn_software/linux/instantclient/19600/oracle-instantclient19.6-basic-19.6.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/19600/oracle-instantclient19.6-devel-19.6.0.0.0-1.x86_64.rpm
yum localinstall oracle-instantclient19.6-basic-19.6.0.0.0-1.x86_64.rpm
yum localinstall oracle-instantclient19.6-devel-19.6.0.0.0-1.x86_64.rpm

Procedemos a la instalación de la extensión oci8

pecl73 install oci8

Cuando nos pida la ruta de instalación del Oracle Instant Client colocaremos «instantclient» y la ruta donde lo tengamos instalado de la siguiente forma:

instantclient,/usr/lib/oracle/19.6/client64/lib

Modificamos el php.ini añadiendo la extensión

php -i | grep "Loaded Configuration File"
nano / vim /url_configuration_file/php.ini
extension=oci8.so

Reiniciamos php

systemctl restart tuVersionPhp

Verificamos la extensión oci8

php --ri oci8

Podemos encontrarnos que al hacer php -v nos muestre un error:

PHP Warning: PHP Startup: Unable to load dynamic library ‘oci8.so’ (tried: /usr/local/lib/php/extensions/tu_carpeta_de_extensiones/oci8.so

Este error puede deberse a que habrá dependencias de la librería compartida que no estén instaladas en nuestro sistema. Para verificar esto utilizaremos el siguiente comando:

ldd /usr/local/lib/php/extensions/tu_carpeta_de_extensiones/oci8.so