+3

HOWTO: Configurando PHP para conectar ao Oracle

criado por Marcos Regis em 25/02/2010 10:46pm
Configurando o Apache e o PHP
O Próximo passo é configurar o Apache juntamente com o PHP. Se você desejar pode seguir o HOWTO que criei disponível em http://phpbrasil.com/artigo/TRRz8rR-Qz_U/configurando-o-apache-22-com-ssl-e-php-52-no-windows ou no meu blog http://blog.marcosregis.com/?p=64 .
A única ressalva é quanto a seleção de suporte a bancos de dados na instalação do PHP. Selecione o suporte a Oracle 10g como na figura abaixo.

Habilitando as extensões de acesso ao Oracle na instalação do PHP


Caso já tenha instalado o PHP e queira fazer no modo manual abra o arquivo php.ini e descomente, altere ou adicione as seguintes linhas:
  extension=php_oci8.dll
  extension=php_pdo.dll
  extension=php_pdo_oci.dll
No Windows XP, a prática demonstrou ser necessário reiniciar o sistema para que o Apache conseguisse ter acesso à variável PATH alterada. Isso ocorre porque as alterações embora feitas na área do Sistema não são propagadas para outros usuários e o Apache roda com um outro usuário. Não vou entrar em detalhes sobre o assunto, apenas friso que é importante rebootar o micro (coisas do Windows). Para confirmar que seu Apache está vendo o PATH corretamente verifique a variável PATH na parte de ENVIRONMENT de uma página php com phpinfo().

A variável PATH na lista dos elementos de ambiente em uso pelo Apache


Caso não esteja como deveria antes de prosseguir reinicie o seu sistema (se ainda não o tiver feito) para ter certeza do sucesso!

    **NOTA**. Se após reiniciar o micro o Apache não iniciar 
    corretamente copie a dll oci.dll que se encontra dentro do 
    diretório do instantclient para o diretório bin presente no 
    diretório onde o Apache foi instalado.

Feito isso inicie o Apache para que as extensões sejam carregadas.
Se tudo correr bem seu PHP já estará com suporte a Oracle.
Crie um arquivo com as seguintes linhas
<?php
phpinfo();
salve como info.php colocando-o na raiz do seu Virtual Host local.
Abra seu navegador e digite o caminho para ele. (Ex.: http://localhost/info.php) para exibir as informações de configuração do PHP. Procure pelas extensões OCI e PDO. Elas devem se parecer com as imagens abaixo.

Informações sobre a a extensão PDO e seus drivers carregados


Informações sobre a extensão oci8 carregada

Comentários:

Mostrando 1 - 6 de 6 comentários
Jean Freitas disse:
o meu aparece esse erro no navegador

Fatal error: Uncaught Error: Call to undefined function oci_connect() in C:\xampp\htdocs\aulaphp\teste.php:21 Stack trace: #0 {main} thrown in C:\xampp\htdocs\aulaphp\teste.php on line 21

linha 21

[ if (!$con = oci_connect($usuario, $senha, "$host:$porta")) ]


//$sql = "select * from usuarios";
//$usuario = 'teste';
//$senha = 'teste';
//$host = '127.0.0.1';
//$porta = '1521';
22/09/2016 3:49pm (~7 anos atrás)

o meu não funcionou
06/04/2013 10:44pm (~11 anos atrás)

Marcos Regis disse:
Simei, desculpe a demora em responder (provavelmente já tenha solucionado).
O maoir problema com o suporte de PHP a Oracle com o IIS é o PATH.
No IIS tem como você verificar qual o PATH que ele está utilizando. Verifique se no PATH está o caminho para o instantclient.
Outra coisa são as permissão de execução/acesso aos binários dentro do diretório do instantclient.
Como você não é o primeiro a me perguntar isso, estou atualizando o tutorial para utilizar o PHP 5.3 e vou criar uma versão com o IIS em Windows XP, Seven e Server.
31/01/2011 8:36pm (~13 anos atrás)

simei smoler disse:
Olá Marcos, primeiramente obrigado pelo passo a passo não se acha quase nada na net sobre o assunto, vamos a dúvida.... fiz tudo que vc falou e tá tudo redondinho no phpinfo... no teste com o servidor oracle etc... o detalhe é que ao invés de Apache eu estou usando IIS 7, você sabe alguma coisa sobre o assunto? se tem que fazer alguma configuração a mais? porque dá erro 500 no IIS 7. Precisa ser no IIS porque existem outras aplicações em aspx no mesmo servidor.
21/12/2010 3:33pm (~13 anos atrás)

Marcos Regis disse:
Então Lucas, na verdade não coloquei no título, mas a configuração se faz necessário para se conectar a um servidor Oracle REMOTO. Quando você instala um Servidor Oracle localmente, essa instalação cria todos os procedimenos para que seja possível acessar localmente tornando as coisas mais simples.
30/06/2010 4:29pm (~14 anos atrás)

eu instalei a versão g10, quando fui ver a variavel de ambiente, ja estava la:

C:\wamp\bin\oracle\app\oracle\product\10.2.0\server\bin

falou.
30/06/2010 4:14pm (~14 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)