Instalando o Oracle Instant Client e Compilando PHP

By Helder Morais

Retirado de John Wendell

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”

.

Instalando o PHP

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 php-pear build-essential libaio1

  2. Pode ser necessario reinicializar a maquina apos esta etapa.
  3. 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
  4. Verifique se o /etc/apache2/httpd.conf esta vazio. Se estiver coloque um conteudo para evitar erro:
  5. LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so

  6. 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 # se der erro no make use make clean make test sudo make install sudo mkdir /etc/php5 sudo cp php.ini-dist /etc/php5

  7. Adicione --disable-cgi e make install-cli para gerar o php-cli

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

    AddType application/x-httpd-php .php

  9. Reinicie o apache:

    sudo /etc/init.d/apache2 restart

Pronto. Agora é só testar!

Crie um arquivo vazio com o seguinte conteúdo:

&lt?php 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

Conectando PHP

Ajustar variaves de anbiente no /etc/profile export NLS_LANG="BRAZILIAN PORTUGUESE_BRAZIL.UTF8" export TNS_ADMIN=/usr/lib/instantclient Criar o tnsnames.ora no /usr/lib/instantclient nomeparaconectar = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = x.y.z.w)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = XE) ) ) Conexão no PHP#

Deixe um comentário

Você precisa fazer o login para publicar um comentário.