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






No Comments »
