Passei HORAS apanhando pra fazer essa lib funcionar no PHP 7.4, então vou compartilhar o passo a passo QUE DEU CERTO pra mim. Se você tá aqui, provavelmente também tá no desespero. Bora tentar mais um tutorial!
Primeiro de tudo baixa esses trem da Oracle
Download do Oracle Instant Client e do SDK no site da Oracle
(Precisa criar conta na Oracle) pode ser versão mais recente
Arquivos:
instantclient-basic-linux.x64-23.7.0.25.01.zip e
instantclient-sdk-linux.x64-23.7.0.25.01.zip
Segundo passo!
Você precisa criar uma pasta e fazer upload dos zips em seu servidor
mkdir /opt/oracleAgora extrai os zips
cd /opt/oracle
unzip instantclient-basic-linux.x64-23.7.0.25.01.zip
unzip instantclient-sdk-linux.x64-23.7.0.25.01.zipTerceira passo
É necessário criar um link simbólico
ln -sf /opt/oracle/instantclient_23_7/libclntsh.so.23.7 /opt/oracle/instantclient_23_7/libclntsh.so
ln -sf /opt/oracle/instantclient_23_7/libocci.so.23.7 /opt/oracle/instantclient_23_7/libocci.soQuarto passo
Atualiza as libs do sistema
echo /opt/oracle/instantclient_23_7 > /etc/ld.so.conf.d/oracle-instantclientDepois comando
ldconfigAgora vem a parte em que demorei bastante entender: como estou usando PHP 7.4, precisei de uma versão específica do oci8
Caso você não tenha essa pacotes instalados
apt-get install php-dev php-pear build-essential libaio1
Agora O PULO DO GATO pro PHP 7.4:
wget https://pecl.php.net/get/oci8-2.2.0.tgz
tar -xvzf oci8-2.2.0.tgz
cd oci8-2.2.0
phpize
./configure --with-php-config=/usr/bin/php-config7.4 --with-oci8=instantclient,/opt/oracle/instantclient_23_7
make
sudo make installHabilita a extensão e reinicia TUDO
echo "extension =oci8.so" >> /etc/php/7.4/fpm/php.ini
echo "extension =oci8.so" >> /etc/php/7.4/cli/php.ini
echo "extension =oci8.so" >> /etc/php/7.4/apache2/php.ini
sudo systemctl daemon-reexec && sudo systemctl restart apache2
sudo systemctl restart php7.4-fpmMais uma coisa

Testa pra ver se foi!
No phpinfo.php e busca por oci8. Se aparecer, DEU BOM! 🎉
Se não aparecer, chora um pouco e depois confere:
- Variáveis de ambiente(essa daqui importante)
(export LD_LIBRARY_PATH=/opt/oracle/instantclient_23_7:$LD_LIBRARY_PATH)
-
Logs do Apache/PHP-FPM
(
/var/log/apache2/error.logoujournalctl -xe) - Verifica extensão
php -m | grep oci8Tente novamente o comando
ldconfig