PHP acessando Oracle no Ubuntu Server 6.06

Infelizmente o php que vem no Ubuntu não oferece suporte ao Oracle.
Este guia mostra como instalar o php direto dos fontes para que ele consiga conectar-se a este banco de dados.

Pré-Requisito

Passo 0 (zero): É necessário um cliente oracle instalado na máquina. Caso ainda não tenha um e queira instalar um [levíssimo] cliente, acesse este post. Feito isso, siga essas etapas:

Instalação

  1. Instale o apache e outros pacotes necessários: – e os milhares de dependências 🙂

    sudo apt-get install apache2 apache2-threaded-dev flex bison libxml2-dev gcc g++ make autoconf automake libtool

  2. Baixe o [fonte do] php em http://www.php.net/downloads.php

    Descompactar em alguma pasta, no meu caso: /home/wendell/php-5.1.4
  3. Compile o php:

    cd /home/wendell/php-5.1.4
    ./configure \
    –with-apxs2=/usr/bin/apxs2 \
    –with-oci8=instantclient,/usr/lib/instantclient \
    –with-config-file-path=/etc/php5 \
    –prefix=/usr/lib/php

    make
    sudo make install
    sudo mkdir /etc/php5
    sudo cp php.ini-dist /etc/php5

  4. Adicione ou descomente a linha abaixo do /etc/apache2/apache2.conf:

    AddType application/x-httpd-php .php

  5. Reinicie o apache:

    sudo /etc/init.d/apache2 restart

Pronto. Agora é só testar!

Crie um arquivo vazio com o seguinte conteúdo:

phpinfo();
?>

E salve-o na pasta padrão do apache – /var/www – com o nome info.php.
Abra o browser e visite: http://maquina/info.php

Se tudo deu certo, deve haver uma seção OCI8 indicando as propriedades da extensão Oracle.

Até a próxima!

Fiquem a vontade para tirar dúvidas. Usem a área de comentários ou entrem em contato diretamente: wendell_listas@bani.com.br

Instalando o Oracle Instant Client no Ubuntu Server 6.06

Olá, pessoal. Segue um roteiro de como, em questão de minutos, ter um cliente oracle pronto pra funcionar no Linux.

  1. Baixe os arquivos Basic, SDK e SQL*Plus, salve-os em uma pasta temporária.
  2. Descompacte os três arquivos (.zip) no diretório /usr/lib/instantclient
  3. Crie um link simbólico:

    cd /usr/lib/instantclient
    sudo ln -s libclntsh.so.10.1 libclntsh.so

  4. Ajustar o ldconfig para essa pasta:
    sudo sh -c “echo /usr/lib/instantclient >> /etc/ld.so.conf”
    sudo ldconfig
  5. Ajustando o SQL*Plus

    sudo ln -s /usr/lib/instantclient/sqlplus /usr/bin/sqlplus

.

Pronto! Está instalado. Para testar, você pode usar o SQL*Plus.

sqlplus system/manager@//servidor_oracle/sid

Perceba que usei a sintaxe nova do SQL*Plus para me conectar ao Oracle.
Se você deseja usar o tnsnames.ora, execute os seguintes passos adicionais:

  1. Copie o tnsnames.ora para a pasta /usr/lib/instantclient
  2. Crie uma variável de ambiente, que aponta para a pasta onde está o tnsnames.ora:

    sudo sh -c “echo export TNS_ADMIN=/usr/lib/instantclient >> /etc/profile”

  3. Efetue logoff e login novamente (ou execute o arquivo /etc/profile)

.

Para finalizar, uma dica: Para obter as mensagens do Oracle em português, faça:

sudo sh -c “echo export NLS_LANG=’BRAZILIAN PORTUGUESE_BRAZIL.UTF8′ >> /etc/profile”

.

.

Fiquem a vontade para tirar dúvidas. Usem a área de comentários ou entrem em contato diretamente: wendell_listas@bani.com.br