Conectando Apache/PHP e OCI Oracle

Publicado por Avelino Ferreira Gomes Filho em 20/08/2006

[ Hits: 22.128 ]

 


Conectando Apache/PHP e OCI Oracle



Este exemplo utilizou:
  • Apache 2.2.0;
  • PHP 5.1.2;
  • Oracle Instant Client 10.2 acessando o banco de dados Oracle 10g.

Faça o download dos programas:
Descompacte o Apache na pasta /usr/local/. A descompactação deverá gerar o diretório /usr/local/httpd-x.x.x/ (onde x.x.x é a versão do Apache).

Descompacte o PHP na pasta /usr/local/. A descompactação deverá gerar o diretório /usr/local/php-x.x.x/ (onde x.x.x é a versão do PHP).

Descompacte os arquivos Oracle na pasta /usr/. A descompactação deverá gerar o diretório /usr/instantclient_x_x/. (onde x.x é a versão do Instant Client).

Entre no diretório do Oracle Instante Client. Digite o comando:

# export LD_LIBRARY_PATH=/usr/instantclient_x_x

(para tornar esse comando definitivo, adicione-o no arquivo ~/.bashrc ou no /etc/profile. Exemplo:

# echo export LD_LIBRARY_PATH=/usr/instantclient_x_x >> ~/.bashrc

Faça um teste no banco de dados Oracle utilizando o sqlplus. Sintaxe:

./sqlplus /@///

Deverá aparecer a mensagem de bem vindo do Oracle e o prompt do sql plus. Caso não apareça, verifique se a variável de ambiente $LD_LIBRARY_PATH está apontando para o diretório raiz do instantclient e os dados da conexão estão corretos.

Execute alguns testes no seu banco de dados (SELECTS de preferência).

Digite:

# ln libclntsh.so.10.1 libclntsh.so

para criar um link do libclntsh.so.10.1. Esse link será utilizado na instalação do PHP. Atenção: Não crie link simbólico.

Entre no diretório de instalação do Apache: /usr/local/httpd-x.x.x

Instalação do Apache:

# ./configure --prefix=/usr/local/apache2
# make
# make install
(Instala o apache no diretório /usr/local/apache2)

Digite:

# /usr/local/apache2/bin/apachectl start

(Inicia o servidor Apache)

Entre no browser e digite "http://localhost" (deverá aparecer uma mensagem de boas vindas ou o simples "It Works!" na versão 2.2).

Digite:

# /usr/local/apache2/bin/apachectl stop

(para o servidor Apache)

Entre no diretório de instalação do PHP: /usr/local/php-x.x.x.

Digite:

# ./configure \
--with-oci8=instantclient,/usr/instantclient_x_x \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--enable-sigchild \
--with-config-file-path=/usr/local/apache2/conf


ATENÇÃO: Essa é a configuração mínima para utilização do Oracle e PHP. Você pode desejar especificar mais parâmetros como MySQL e etc.

# make
# make install


Edite o arquivo /usr/local/apache2/conf/httpd.conf. Procure pela instrução: AddType application/ (Caso não exista, pule esse passo).

Abaixo da instrução já existente digite:

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

Entre no diretório bin do apache: /usr/local/apache2/bin. Digite:

# ./apachectl start

Crie um arquivo PHP (teste.php) no diretório /usr/local/apache2/htdocs/ com o seguinte conteúdo:

phpinfo();
?>

Procure por: OCI8 Support.

Faça os seus testes e boa sorte.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Comando tar detectando tipo de arquivo automaticamente

Como instalar flashplayer em plataforma 64 bits

Instalando fontes do Windows no Linux de maneira simples

Tirar permissão de root para conexão SSH

Entendendo os diretórios de sistema

  

Comentários
[1] Comentário enviado por djcelsodub em 01/11/2010 - 11:00h

Bom dia Avelino...

Muito boa sua dica...
Porém estou tendo um problema...

Utilizo Red Hat EL5 5.4... tudo funciona muito bem, o apache sobe corretamente, no phpinfo aparece o oci8 carregado... mas qdo acesso o sistema dá erro de conexão com o BD.
restarto o apache com 'service httpd restart' e a situação permanece.
Isso só é resolvido quando carrego o apache desta forma: '/etc/init.d/httpd stop' e em seguida 'start', então a conexão consegue ser realizada.

Procurei na net mas não encontrei nada a respeito até o momento. Tem alguma idéia do que possa ser?

obrigado.


Celso Faria
Americana/SP



Contribuir com comentário