Home » Artigos » PHP5 com suporte a Oracle
formats

PHP5 com suporte a Oracle

Published on maio 31st, 2010 by in Artigos

Nesse artigo tento mostrar de forma prática como adicionar o suporte a banco de dados oracle no PHP5. Tudo foi feito no Debian Lenny, mas deve funcionar para Ubuntu e outras distros, instalando os pacotes e alterando os diretórios adequadamente. Se algo não funcionar, deixe seu comentário.

Preparação

Instale os softwares necessários:

apt-get install php5-dev php-pear libaio1 unzip

Entre no diretório onde ficarão os fontes do oracle client:

cd /usr/local/src/

Baixe esses dois arquivos. Precisa se registrar no site:

http://download.oracle.com/otn/linux/instantclient/112010/instantclient-basic-linux32-11.2.0.1.zip

http://download.oracle.com/otn/linux/instantclient/112010/instantclient-sdk-linux32-11.2.0.1.zip

Agora, descompacte os arquivos:

unzip instantclient-basic-linux32-11.2.0.1.zip
unzip instantclient-sdk-linux32-11.2.0.1.zip

Entre no diretório criado

cd instantclient_11_2

Crie o link para uma das bibliotecas

ln -s libclntsh.so.11.1 libclntsh.so

Instalação 

Começando a instalação. Digite:

pecl install oci8

Aparecerá essa mensagem:

downloading oci8-1.3.5.tgz ...
Starting to download oci8-1.3.5.tgz (137,987 bytes)
.............................done: 137,987 bytes
10 source files, building
running: phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
 1. Please provide the path to the ORACLE_HOME directory. Use
'instantclient,/path/to/instant/client/lib' if you're compiling
with Oracle Instant Client : autodetect

1-1, 'all', 'abort', or Enter to continue:

Digite:1

Aperte <enter>

Please provide the path to the ORACLE_HOME directory. Use
'instantclient,/path/to/instant/client/lib' if you're compiling
with Oracle Instant Client [autodetect] :

Digite: instantclient,/usr/local/src/instantclient_11_2

Aperte <enter>

 1. Please provide the path to the ORACLE_HOME directory. Use
'instantclient,/path/to/instant/client/lib' if you're compiling with
Oracle Instant Client : instantclient,/usr/local/src/instantclient_11_2

Aperte <enter>

Configure o PHP:

vi /etc/php5/apache2/php.ini
extension=oci8.so

Reinicie o Apache:

/etc/init.d/apache2 restart

Verificando se o PHP já mostra o suporte ao Oracle 

Crie um arquvivo php:

vi /var/www/test.php

Insira o conteúdo:

<?php
  phpinfo();
?>

Acesse http://localhost/test.php

Verifique o parâmetro “OCI8 Support: enabled”

Testando a conexão com o banco
Crie um aquivo php:

vi /var/www/connect.php

Insira o conteúdo abaixo, personalizando as informações sobre banco, user, senha e select:

<?php
$conn = oci_connect('hr', 'hr_password', 'mymachine.mydomain/MYDB');
$query = 'select table_name from user_tables';
$stid = oci_parse($conn, $query);
oci_execute($stid, OCI_DEFAULT);
while ($row = oci_fetch_array($stid, OCI_ASSOC)) {
  foreach ($row as $item) {
    echo $item." ";
  }
  echo "<br>n";
}
oci_free_statement($stid);
oci_close($conn);
?>

Acesse http://localhost/connect.php


 

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© pahim.org
credit