1. Instalando os pacotes necessários, se você usa o Xampp esse passo não é necessário
No entanto o pacote libaio1 é obrigatório
sudo
apt-get install
php5-dev build-essential php-pear libaio1
2. Baixando os instaladores do Instantclient do Oracle
Próximo passo é fazer o download dos pacotes rpm necessários para a instalação do cliente Oracle. Você irá precisar dos seguintes arquivos:
Basic – oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm ~ 44MB
Devel – oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm ~ 590KB
Atenção para a versão do seu sistema. Caso seu sistema for 64 bits deverá baixar a versão apropriada.
Todas as versões do cliente podem ser encontradas no link abaixo.
Download Oracle Instant Client:
https://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
3. Convertendo os pacotes para .DEB aceitos no Ubuntu
O que temos que fazer é converter os pacotes tipo rpm para tipo deb utilizando o Alien.
Instalando o Alien
1 |
sudo
apt-get install
alien
Com o Alien instalado basta converter os pacotes:
12 | sudo alien oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm sudo alien oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm |
Neste ponto o Alien converteu seus arquivos para pacotes tipo deb, olhando na mesma pasta você deverá encontrar os arquivos convertidos.
4. Instalando o Cliente
Agora basta instalarmos o cliente utilizando os pacotes tipo deb.
12 | sudo dpkg -i oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.deb sudo dpkg -i oracle-instantclient11.2-devel-11.2.0.2.0.i386.deb |
5. Instalando OCI8/PHP
Seu cliente Oracle ja está instalado, próximo passo é a instalação da extensão PHP OCI8.
No caso do Xampp pode ser necessário acessar a pasta de instalação do PHP em /opt/lampp/bin
e executar sudo ./pecl install oci8
1 | sudo pecl install oci8 |
Atualmente a biblioteca oci8 está destinada ao PHP 8, se você usa uma versão inferir, deve ser verificado a versão correta em:
https://pecl.php.net/package/oci8
Atenção: Durante a instalação será solicitado para entrar com o caminho do cliente Oracle. Basta deixar em branco e o sistema irá encontrar a o caminho do instant client automaticamente.
6. Configurando
OCI8 instalado agora é só informar ao PHP para utilizar a extensão.
Adicione a linha extension=oci8.so na seção de extensões do php.ini
Dependendo do tipo de instalação do PHP o php.ini pode tá em locais diferentes da instalação padrão.
Se tudo ocorreu bem o Apache vai reiniciar sem problemas. Você pode conferir a instalação rodando um phpinfo() no servidor.
Execute #sudo php -v para verificar se tudo ocorreu bem ou #sudo php -ini para verificar a configuração do arquivo php.ini
Um exemplo simples de script para testar a conexão.
01020304050607080910111213 | <?php $dbstr ="(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ))"; if ( $conn0 = oci_connect( 'usuario' , 'senha' , $dbstr )): print "CONECTADO EM 192.168.1.1" ; else : print "ERRO NA CONEXAO" ; endif ; ?> |
Servidor pronto para trabalhar com PHP e Oracle.
Para saber mais sobre OCI8 com PHP consulte a documentação oficial em https://br3.php.net/manual/pt_BR/book.oci8.php
The OCI8 extension lets you access Oracle Database.
Use ‘pecl install oci8’ to install for PHP 8.2.
Use ‘pecl install oci8-3.2.1’ to install for PHP 8.1.
Use ‘pecl install oci8-3.0.1’ to install for PHP 8.0.
Use ‘pecl install oci8-2.2.0’ to install for PHP 7.