http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
Download files:
Basic Package (ZIP): instantclient-basic-linux.x64-21.x.zip
SDK Package (ZIP): instantclient-sdk-linux.x64-21.x.zip
** Notece que debe ser la version que este actualmente para su descarga
Crear un folder para Oracle Instant Client y server
sudo mkdir /opt/oracle
sudo mkdir /opt/oracle/21.x
sudo mkdir /opt/oracle/21.x/client64Extraer los archivos
sudo cp instantclient-basic-linux.x64-21.x.zip /opt/oracle/21.x/client64
sudo cp instantclient-sdk-linux.x64-21.x.zip /opt/oracle/21.x/client64
cd /opt/oracle/21.x/client64
sudo unzip instantclient-basic-linux.x64-21.x.zip
sudo unzip instantclient-sdk-linux.x64-21.x.zip
sudo mv instantclient_21_x libCrear link symbolico a la los archivos de Instant Client:
cd /opt/oracle/21.x/client64/lib/
sudo ln -s libclntsh.so.21.x libclntsh.so (It may already exist, continue)
sudo ln -s libocci.so.21.x libocci.so (It may already exist, continue)Editar/Crear este archvo con el path a la libreria (para LDCONFIG):
sudo echo /opt/oracle/21.x/client64/lib > /etc/ld.so.conf.d/oracle.confActualizar Dynamic Linker
ldconfigInstalar php-dev php-pear build-essential y libaio1
sudo apt-get install php-dev php-pear build-essential libaio1Actualizar PECL e instalar OCI8 desde alli
sudo pecl channel-update pecl.php.netInstalar OCI8 desde PCEL (decide la version, por defecto instala la version que encuentre en el sistema, yo uso la 8)
sudo pecl install oci8 (php 8)
sudo pecl install oci8-2.2.0 (php 7.)Durante la instalaciion usted necesita agregar la ruta a Instant Client, escriba esto:
instantclient,/opt/oracle/21.x/client64/libAl finalizar tendra algo como esto:
Build process completed successfully
Installing '/usr/lib/php/20190902/oci8.so'
install ok: channel://pecl.php.net/oci8-2.2.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=oci8.so" to php.iniagregar la libreria OCI8 en php PHP
sudo echo "extension=oci8.so" >> /etc/php/8.0/cli/php.iniReinicie Apache
sudo systemctl restart apache2agrege a mods-available
cd /etc/php/8.0/mods-available/
sudo nano oci.iniAgrege esto en el archivo:
extension = oci8.soCrear sym link al archivo creado
cd /etc/php/8.0/apache2/conf.d
sudo ln -s /etc/php/8.0/mods-available/oci.ini 20-oci.iniReinicie Apache
sudo systemctl restart apache2Verifique si OCI esta cargado en PHP
php -i | grep ociDara una salida como esta:
oci8
oci8.connection_class => no value => no value
oci8.default_prefetch => 100 => 100
oci8.events => Off => Off
oci8.max_persistent => -1 => -1
oci8.old_oci_close_semantics => Off => Off
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20Baseado en post de Carlos Juan
https://www.cjorellana.net/2020/12/como-instalar-oci8-en-ubuntu-2004-y-php.html y eSkiSo/install_oci8_ubuntu20_php7.4.md https://gist.github.com/eSkiSo/781269c79b4dd740e90fcc059c1985ae