3
respostas

[Dúvida] Erro na conexão com banco de dados Oracle, função indefinida

Estou tendo problemas para conectar com o banco de dados oracle.

Mesmo com os parâmetros passados corretamente

<?php

$conexao = oci_connect('usuario', 'senha', '192.100.100.245/DEV');

if ($conexao) {
    echo "sim";
}

O retorno é Fatal error: Uncaught Error: Call to undefined function oci_connect()

Já adicionei as extençoes no php.ini

extension=oci8
extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=oci8_19  ; Use with Oracle Database 19 Instant Client
extension=odbc
extension=openssl
extension=pdo_oci

Já instalei também o instant client, os arquivos dll na pasta ext, adicionei o caminho na variável de ambiente. No "http://localhost:8282/?phpinfo=-1" o oci8 aparece como habilitado

3 respostas

Olá Yago, tudo bem?

Gostaria de pedir desculpas pela demora em responder o seu tópico.

Como você instalou o php em seu computador? Quando você abre o terminal e digita: php -m a extensão é listada?

Fico no aguardo :)

Olá Vinicus, tudo bem e você?

Tranquilo. Instalei conforme nessa aula https://cursos.alura.com.br/course/php-primeiros-passos/task/54424.

Acabei desistindo de fazer a conexão dessa forma, fiz o curso de PDO e estou tentando com ele agora, mas sem sucesso também.

$db_username = 'usuario';
$db_password = 'senha';
$db = 'oci:dbname=192.100.100.245/GLDEV';
$conn = new PDO($db,$db_username,$db_password);

E retorna basicamente: PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000]: pdo_oci_handle_factory: Error while trying to retrieve text for error ORA-01804 (ext\pdo_oci\oci_driver.c:778) in X:\TestePDO\conexao.php:9

No php.ini está dessa forma:

;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=oci8_19  ; Use with Oracle Database 19 Instant Client
extension=odbc
extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
extension=pdo_oci

E o PHP -m retorna:

[PHP Modules]
bcmath  
calendar
Core    
ctype   
curl    
date    
dom     
exif
filter
hash
iconv
json
libxml
mbstring
mysqlnd
odbc
openssl
pcre
PDO
PDO_OCI
PDO_ODBC
pdo_sqlite
Phar
readline
Reflection
session
SimpleXML
soap
SPL
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib

Olá, Yago. Tudo bem?

Quando você digita: php -m é retornado algum erro, ou o erro só é retornado ao realizar a conexão?

Outra coisa, qual a sua versão do PHP? E o que você baixou da Oracle?