terça-feira, 13 de janeiro de 2015

Instalar o módulo OCI8 (Oracle) no Ubuntu 14.04

1 - Instalar PHP5 e Apache 2

http://www.codegeo.com.br/2013/01/instalando-apache-2-e-php-5-no-ubuntu.html

2 - Baixar o Oracle Instant Client

Para que o módulo php-oci8 funcione, é necessário baixar o Instant Client.

http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

Baixe os arquivos Instant Client Package - Basic e Instant Client Package - SDK

OBS: Faça o download dos arquivos ZIP de acordo com a versão do seu banco de dados.

3 - Preparar Instant Client

Extraia o basic e o sdk para uma pasta instantclient dentro de /opt

unzip instantclient-basic-linux.x64-XX.X.X.X.X.zip -d /opt
unzip instantclient-sdk-linux.x64-XX.X.X.X.X.zip -d /opt

Os comandos acima irão extrair os 2 arquivos ZIP e colocá-los dentro de uma pasta chamada instantclient_XX_X, sendo que o X indica a versão baixada.

Agora vamos criar alguns links simbólicos dentro da pasta.

cd /opt/instantclient_XX_X
ln -s libclntsh.so.XX.X libclntsh.so
ln -s libocci.so.XX.X libocci.so

4 - Instalar bibliotecas necessárias

sudo apt-get install libaio1 php-pear php5-dev

5 - Preparar PECL/PEAR

pear upgrade --force pear
pear upgrade
pear channel-update pear.php.net
pecl channel-update pecl.php.net

6 - Instalar PECL/PEAR

pecl install oci8

Durante a instalação, o PECL irá pedir para você localizar o Instant Client e será exibida uma mensagem como abaixo:
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] :

Digite o código abaixo e em seguida pressione Enter

instantclient,/opt/instantclient_XX_X

7 - Incluir o OCI8 ao php.ini

sudo nano /etc/php5/apache2/php.ini

No final do arquivo acrescente a linha abaixo:

extension=oci8.so

Para salvar as alterações, aperte CTRL+X, digite Y e em seguida pressione Enter

8 - Reiniciar o Apache

sudo service apache2 restart

Verifique no phpinfo() se o módulo esta ativo. Caso a instalação tenha sido feita corretamente, irá aparecer uma imagem como a abaixo.

OBS: Não apague a pasta /opt/instantclient_XX_X pois o OCI8 deixará de funcionar.

4 comentários:

  1. Ao executar o comando pecl isntall oci8 apareceu esta mensagem de icompatibilidade com a versão do PHP:
    pecl/oci8 requires PHP (version >= 7.0.0), installed version is 5.6.25-1~dotdeb.7.1

    ResponderExcluir
  2. usei o comando pecl install oci8-2.0.12 e funcionou

    ResponderExcluir
  3. Anônimo24 de agosto de 2016 17:25
    usei o comando pecl install oci8-2.0.12 e funcionou

    Valeu a dica deu certo

    ResponderExcluir
  4. estou com esse problema
    11 source files, building
    running: phpize
    sh: 1: phpize: not found
    ERROR: `phpize' failed

    Alguem poderia me auxiliar?

    ResponderExcluir