Autor Tópico: Configurar PHP pra acessar Oracle  (Lida 9486 vezes)

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Configurar PHP pra acessar Oracle
« Online: Setembro 04, 2011, 03:09:46 pm »
Pessoal,

Tenho um banco Oracle instalado em um servidor onde acesso via VPN e preciso acessar via Scriptcase. Baixei e configurei o InstantClient do Oracle, liberei o php_oci8.dll para o PHP, mas quando executo o diagnosis, ainda me diz que o Oracle não está funcional. Detalhe: meu Windows é o Seven. Todas as dicas que encontrei aqui no fórum são para Windows XP. Alguém tem alguma dica?

Detalhe: Instalei também o SQLPLUS e conecta normalmente ao servidor. O problema é fazer com que o PHP enxergue o InstantClient pra acessar o Oracle.

Grato.
« Última modificação: Setembro 04, 2011, 04:22:26 pm por Kleyber »
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

Max Veras

  • Administrator
  • Intermediário
  • *****
  • Mensagens: 203
Re:Configurar PHP pra acessar Oracle
« Responder #1 Online: Setembro 05, 2011, 08:43:19 am »
Oi Kleyber,

qual a versão do Instant Client que você baixou ?

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Configurar PHP pra acessar Oracle
« Responder #2 Online: Setembro 05, 2011, 08:55:36 am »
InstantClient versão 11
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

Max Veras

  • Administrator
  • Intermediário
  • *****
  • Mensagens: 203
Re:Configurar PHP pra acessar Oracle
« Responder #3 Online: Setembro 05, 2011, 03:21:24 pm »
Kleyber,

Acredito que esse seja o problema, no próprio WebHelp não sugere essa versão.
Foi feito com uma versão mais antiga. A 10.2.0.3

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Configurar PHP pra acessar Oracle
« Responder #4 Online: Setembro 05, 2011, 04:35:07 pm »
Max,

Ok, vou usar esta versão e reporto o resultado.

Obrigado.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Configurar PHP pra acessar Oracle
« Responder #5 Online: Setembro 06, 2011, 07:56:46 pm »
Baixei a versão 10.2.0.3, mudei as vaiáveis de ambiente pra pegar a nova pasta onde está esta versão, mas o diagnosis ainda me diz que não está disponível.

Detalhe: eu uso Win 7 64 bits e baixei a versão 10.2.0.3 do instant client pra 64 bits também.
alguma nova idéia?
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

Max Veras

  • Administrator
  • Intermediário
  • *****
  • Mensagens: 203
Re:Configurar PHP pra acessar Oracle
« Responder #6 Online: Setembro 08, 2011, 08:31:38 am »
Kleyber não sei muito o que pode esta acontecendo.
Talvez alguma .dll que não está descomentada, ou não esta presente na pasta 'ext' do PHP.
Depois dessas alterações no seu PHP, você reiniciou o serviço do servidor ?

Um outra dica que eu acho mais fácil pra quem usa o oracle, é montar um ambiente com o Zend Server.
Eu testei em mais de um Windows e fiz até na base de conhecimento um pequeno tutorial ensinando como instalar o Zend Server e habilitar a conexão com o Oracle.
Achei nesse ambiente mais fácil e rápido.

Segue o link, talvez isso ajude: http://www.netmake.com.br/site/baseknowledge/baseknowledge.php?id_topico=307

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Configurar PHP pra acessar Oracle
« Responder #7 Online: Setembro 08, 2011, 09:33:25 am »
Max, obrigado por responder. Deixa então eu esclarecer mais as coisas: O servidor Oracle está em uma base remota e eu quero acessá-la do meu SC que está em meu notebook. Por isso instalei o Instant Client, seguindo justamente o tutorial disponibilizado na Base de Conhecimento do site da Netmake. Descomentei a linha do php_oci8.dll do php.ini, reiniciei o notebook mas o diagnosis ainda diz que o Oracle não está disponível. Vou colocar aqui a sequencia que fiz para ver se houve algo errado:

- Instalei o Instant Client 11
- Instalei o SQL PLUS
- Alterei as variáveis de ambiente
- Alterei o PHP.INI descomentando a linha do php_oci8.dll
- Reiniciei o notebook
- Consegui conectar o banco usando o SQL PLUS
- Executei o DIAGNOSIS mas o Oracle não está disponível
- Instalei o Instant Client 10 (conforme tua indicação aqui no fórum)
- Mudei as variáveis de ambiente para "enxergar" a versão 10
- Reiniciei o notebook
- Executei novamente o DIAGNOSIS e nada
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

Max Veras

  • Administrator
  • Intermediário
  • *****
  • Mensagens: 203
Re:Configurar PHP pra acessar Oracle
« Responder #8 Online: Setembro 08, 2011, 04:07:01 pm »
Kleyber, realmente não sei o que pode esta acontecendo, se esta seguindo aqueles passos do tutorial no WebHelp à risca e mesmo assim esta dando problema.
Eu posso verificar aqui em um ambiente 64bits e tentar conectar sem usar o ambiente Zend Server e depois dizer o que aconteceu.

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Configurar PHP pra acessar Oracle
« Responder #9 Online: Setembro 09, 2011, 11:16:23 am »
Ótimo. Fico no aguardo dos teus resultados. Enquanto isto, vou tentando outras coisas por aqui.

Obrigado.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

Max Veras

  • Administrator
  • Intermediário
  • *****
  • Mensagens: 203
Re:Configurar PHP pra acessar Oracle
« Responder #10 Online: Setembro 14, 2011, 06:05:04 pm »
Perdão Kleyber a demora, eu estava ausente.

Fiz o teste, num Notebook com Windows 7 64 bits, usando as duas maneiras, com o Zend Server CE PHP 5.2 e usando o ambiente do instalador do ScriptCase para Windows usando a versão do Instant Client que está no Webhelp.

Realmente não sei te informar o que pode esta faltando para fazer a conexão.

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Configurar PHP pra acessar Oracle
« Responder #11 Online: Setembro 15, 2011, 09:02:16 am »
Max, bom dia,

O único problema mesmo é o fato do PHP não estar reconhecendo o OCI8 que já habilitei no PHP.INI. Vou tentar instalar tudo novamente.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

ValterSouza

  • Intermediário
  • ***
  • Mensagens: 184
Re:Configurar PHP pra acessar Oracle
« Responder #12 Online: Abril 19, 2012, 12:43:56 am »
Olá, Kleber.
Resolveu o problema da conexão com o Oracle?
Estou passando pela mesma dificuldade que você.

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Configurar PHP pra acessar Oracle
« Responder #13 Online: Abril 19, 2012, 08:42:47 am »
Valter,

Nada, eu desisti de continuar tentando.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

John L. Santos

  • Bug Tracker Team
  • Administrator
  • Expert
  • *****
  • Mensagens: 595
    • Email
Re:Configurar PHP pra acessar Oracle
« Responder #14 Online: Abril 19, 2012, 09:18:14 am »
Olá Kleber,

Eu sugiro que você instale o ambiente manualmente, será bem mais viável para a conexão com o oracle. Você pode baixar o Zend Server CE ( Zend Server CE (PHP 5.3) versão 5.6.0 ) no site da Zend, http://www.zend.com/en/products/server-ce/downloads ele já virá com o apache, ficará bem melhor pois você terá acesso a toda parte gráfica do ambiente, podendo acessar pela porta localhost:10081, o root será a pasta zend/apache2/htdocs. Nela você apenas irá baixar o nosso zip e descompactá-lo, acessando o scriptcase na porta 80.


- Zend Guard Loader:

Caso apareça algum problema como Zend Guard Run-time support missing! a solução é:

Esta mensagem normalmente é exibida na ausência do Zend Guard Loader, que serve para decodificar a criptografia dos arquivos Zend. Portanto, o acesso está sendo feito da maneira correta, porém você tem que acessar a parte gráfica do seu ambiente ( acessando Zend Server CE http://localhost:10081/ZendServer, esta é uma das vantagens de instalar o ambiente manualmente, pois o instalador do Scriptcase compacta todo o ambiente eliminando a parte gráfica. ) para pode verificar se está tudo instalado corretamente.

Acessando o Zend Server CE, é possível verificar se o Zend Guard Loader está ativado, caso não esteja, o senhor terá que ativá-lo em " Server Setup -> Components " ou fazer o download no próprio site da Zend.

http://www.zend.com/en/products/guard/downloads

Zend Guard Loader (Runtime for PHP 5.3)


Outra dica é que para habilitar as extensões ao banco de dados, não precisa acessar diretamente o php.ini, basta ativá-los em " Server Setup -> Extensions ".


- Timezone:

E também possivelmente pode dar algum erro como este ao gerar as aplicações consulta :

2 = date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-2.0/DST' instead
C:\Program Files\Zend\Apache2\htdocs\scriptcase\devel\generator\nm_gp_ler_campos.php 555


A solução é :

Este erro geralmente ocorre quando não há um timezone definido no seu php.
Certifique-se de qual seja o timezone correto de acordo com a sua região acessando o site abaixo:
http://www.php.net/manual/es/timezones.php


Alteração automática: ( Recomendado. )

Acessando a parte gráfica do Zend Server CE ( Ex.: http://localhost:10081/ZendServer )
Server Setup -> View: Popular -> Date -> date.timezone - The default timezone used by all date/time functions if the TZ environment variable isn't set
Insira : America/Sao_Paulo ( Tendo como exemplo a cidade de São Paulo.)
Após realizar este procedimento, reinicie o serviço. ( Restart PHP. )



Alteração manual:

Faça as seguintes alterações no seu php.ini, localize e altere como no exemplo abaixo, tendo como exemplo a cidade de São Paulo.

[Date]
; Defines the default timezone used by the date functions
date.timezone = America/Sao_Paulo

Após realizar este procedimento, reinicie o serviço.
John L. Santos
NetMake - Soluções em Informática