Conectando Apache/PHP e OCI Oracle

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

[ Hits: 23.925 ]

 


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

Instalar driver NVIDIA 185.19 no Ubuntu Linux

Controle de internet por usuário

Explorando seu hardware II

Mint Linux 17.2 Cinnamon - Atalhos de teclado

Roteamento estático no GNU/Linux

  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts