Configurando PHP5 para acessar Oracle no Ubuntu Server 9.04

5 de Agosto de 2009

Instruções para configurar o php5 para acessar o oracle usando Oracle’s Instant Client e o módulo oci8 do pear.

Baixar o Oracle Instant Client:

http://www.oracle.com/technology/tech/oci/instantclient/index.html

Na data deste post os arquivos eram:

basic-11.1.0.70-linux-x86_64.zip
sdk-11.1.0.7.0-linux-x86_64.zip

Decompactar

# sudo mkdir /opt/oracle

#cd /opt/oracle

# sudo unzip basic-11.1.0.70-linux-x86_64.zip

# sudo unzip sdk-11.1.0.7.0-linux-x86_64.zip

Adicionar o diretório no ldconfig

# sudo bash -c “echo /opt/oracle/instantclient_11_1 >>  /etc/ld.so.conf.d/oracleinstantclient.conf”

Atualizar o ldconfig

#sudo ldconfig

Criar links para as libs

# sudo ln -s libocci.so.11.1 libocci.so
# sudo ln -s libclntsh.so.11.1 libclntsh.so

Instalar o php-pear e outros pacotes necessários para compilação do módulo

#sudo apt-get install php5-dev build-essential php-pear libaio1

Instalar o módulo oci8

# sudo pecl install oci8

Será solicitado o caminho para o instantclient, basta informar:

instantclient,/opt/oracle/instantclient_11_1

No final a extensão será instalada com as demais extensões do php, como mostrado na saída do comando:

Installing ‘/usr/lib/php5/20060613/oci8.so’

Agora devemos habilitar a extensão no php.ini, crie um arquivo dentro do diretório conf.d do php5

# sudo vi /etc/php5/conf.d/oci8.ini

Inclua a seguinte linha

extension=oci8.so

Reinicie o apache, crie um script php para mostrar os módulos ativos usando a função phpinfo() e verifique se o módulo oci8 esta habilitado.

#sudo /etc/init.d/apache2 restart

Referências:

http://ubuntuforums.org/showthread.php?t=92528

ln -s libclntsh.so.10.1 libclntsh.so
ln -s libocci.so.10.1 libocci.so