HOWTO: Configurando PHP para conectar ao Oracle
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:
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!
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
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
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
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();
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
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.
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
(~14 anos atrás)
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
(~14 anos atrás)
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.
C:\wamp\bin\oracle\app\oracle\product\10.2.0\server\bin
falou.
30/06/2010 4:14pm
(~14 anos atrás)
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';