quarta-feira, 14 de janeiro de 2009

Configurando PHP + Oracle

Este artigo mostra a configuração do PHP com Oracle, em uma máquina com sistema operacional
Linux - CentOS 64 bits com PHP 5.1.6 para conectar em um servidor Oracle 10g.
O PHP foi instalado via yum, ou seja, não foi compilado manualmente.

Para utilizar o Oracle no PHP, em primeiro lugar é necessário baixar o client do Oracle.
Você deve baixar a versão do instant-client correspondente ao seu sistema operacional no site da Oracle. Clique aqui para o baixar o instantclient.


Eu baixei os seguintes arquivos compactados "tar.gz" para o Linux64.

Instant Client Package - Basic
Instant Client Package - SQL*Plus
Instant Client Package - SDK

Após baixar o instant client, é necessário baixar o módulo oci8 para o PHP disponível no Pecl.
Clique aqui para baixar o módulo oci8.

Baixe a última versão ( durante a criação deste artigo eu utilizei a versão oci8-1.3.4.tgz )


Instalando o Instant Client

Abaixo seguem os passos que segui para a instalação do mesmo, portanto, não é necessário utilizar
os mesmos diretórios que utilizei para instalação.

1 - copiar os arquivos do instant client para o diretório /opt/oracle ( caso o mesmo não existir, crie )
2 - descompactar os arquivos ( tar -xvzf arquivo-instant-client.tar.gz )
3 - todos os arquivos deverão ficar na pasta /opt/oracle/InstantClient_xx ( onde xx é a versão - eu usei a versão 10 )
4 - definir as seguintes variáveis de ambiente no arquivo /etc/profile:


# Oracle
export ORACLE_BASE=/opt/oracle/instantclient10_1
export ORACLE_HOME=/opt/oracle/instantclient10_1
export ORACLE_SID=prod
export ORACLE_TERM=xterm
export PATH=$HOME/bin:$ORACLE_HOME/bin:$PATH
export NLS_LANG=American_America.WE8ISO8859P1

# a última configuração foi utilizada pois meu Oracle Server está configurado
# com codificação de caracteres padrão ISO8861-2 ( Latin )


5 - carregar o arquivo através do comando abaixo:
[root@maquina]# source /etc/profile



Instalando o módulo oci8 para o PHP

1 - copiar o arquivo oci8-1.3.4.tgz para /usr/src
2 - descompactar o arquivo através do comando
[root@maquina]# tar -xvzf oci8-1.3.4.tgz
3 - após descompactar, será criado o diretório /usr/src/oci8-1.3.4
4 - execute os comandos abaixo:

[root@maquina]# cd /usr/src/oci8-1.3.4
[root@maquina]# phpize
[root@maquina]# ./configure --with-oci8=instantclient,/opt/oracle/instantclient10_1/
[root@maquina]# make

5 - caso tudo ocorrer bem, o diretório modules será criado
6 - copie o arquivo /usr/src/oci8-1.3.4/modules/oci8.so para o diretório de extensões configurado no
arquivo php.ini ( através da diretiva: extension_dir )
No meu caso o extension_dir está configurado para o diretório: /usr/lib64/php/modules/
7 - criar o arquivo oci8.ini dentro do diretório /etc/php.d e incluir o seguinte conteúdo no arquivo:


extension=oci8.so


Pronto! está configurado o PHP com Oracle!

Nenhum comentário:

Postar um comentário