BEM VINDO AO BLOG DO MARCOS CARRARO CRIADOR DO "CARRARO DASHBOARD". MUITO MAIS QUE UM SIMPLES BLOG.

quinta-feira, 28 de fevereiro de 2013

Botando para funcionar PHP + Client Oracle 11G

Buenas,

Hoje, comecei um projeto novo que necessita trabalhar com oracle, e como todos sabem sou amante do PHP, para começar o php não da suporte nativo ao Oracle. Isso nos faz colocar a mão na massa e obter mais conhecimento.

Bora começar.

Cenário.
- Centos 6.3 x64 EN
- Apache 2.2.15
- PHP 5.3

Instalando dependências.

# yum install php php-devel php-pear gcc gcc-c++ autoconf -y

OBS:. Tem que fazer login em oracle.com para poder baixar.
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

Baixar o Basic e Devel para a sua versão do OracleDB.
OBS:. Se a sua versão do oracle for 11, desculpe-me, mas os clients não podem ser na mesma versão, vão ter que ser na versão 10.

Feito isso é hora de instalar o plugin no PHP.

# pecl install oci8

Saída....

Build process completed successfully
Installing '/usr/lib64/php/modules/oci8.so'
install ok: channel://pecl.php.net/oci8-1.4.9
configuration option "php_ini" is not set to php.ini location
You should add "extension=oci8.so" to php.ini



Temos que adicionar no php.ini o plugin. Para isso.

# echo "extension=oci8.so" >> /etc/php.ini

# /etc/init.d/httpd restart

# php -i | grep oci8

E ta não mão o php configurado para trabalhar com Oracle DB.

ATUALIZADO
Ao fazer a conexão com o DB e retornar um erro. "ORA-24408: could not generate unique server group name"

Exemplo de conexão com oracle utilizando php.

<?php

$usuario=" ";
$senha=" ";
$host=" ";
$db=" ";



$tns = "(DESCRIPTION = "
. " (ADDRESS = (PROTOCOL = TCP)(HOST = $host)(PORT = 1521))"
. " (CONNECT_DATA ="
. " (SERVER = DEDICATED)"
. " (SERVICE_NAME = $db)"
. " )"
. " )";


if ($c = @oci_connect($usuario, $senha, $tns)) {
    echo "Successfully connected to Oracle.";
    oci_close($c);
} else {
    $err = oci_error();
    $error = $err['message'] . "\n\n";
    print $error;
}


?>

Abraços
Marcos Carraro




Read More

Posts que a turma mais esta lendo...

Posts que a turma mais esta lendo...

Marcos Carraro