Conectando Apache/PHP e OCI Oracle

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

[ Hits: 21.675 ]

 


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

Configurar repositório APT local no Debian sem a necessidade de configurar o Apache

Fortune com gDesklets

Otimize seu Sabayon Linux

Placa Wireless Atheros AR5001 - Configuração no Debian Squeeze

Resolvendo Problemas de Áudio no Ubuntu 10.10

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts