PHP com suporte a Oracle no Slackware 10

Publicado por Vinícius de Oliveira Almeida em 13/09/2010

[ Hits: 5.619 ]

 


PHP com suporte a Oracle no Slackware 10



Muita gente já apanhou configurando o PHP com suporte a Oracle no Slackware 10, então segue um passo a passo.

Baixando os pacotes.

Primeiro para dar início ao artigo precisamos baixar o PHP:

wget http://www.php.net/get/php-5.1.4.tar.gz/from/am.php.net/mirror

Depois o Apache:
Caso não encontre os pacotes, procure no site: http://apache.usp.br

E o PHP no site: http://www.php.net

Instalando o Client do Oracle

O processo de instalação é bem simples. Adicione o grupo dba:

# groupadd dba

Depois adicione o usuário oracle:

# adduser oracle

Logo depois um detalhe muito importante, o Slackware por padrão não cria o arquivo .profile do usuário, então faça na mão mesmo:

# touch /home/oracle/.profile
# chown oracle:dba /home/oracle/.profile


Logo após edite o .profile:

# vi /home/oracle/.profile

e adicione o seguinte conteúdo:

NLS_DATE_FORMAT="DD/MM/YYYY"
NLS_LANG="Brazilian Portuguese_Brazil.WE8ISO8859P1"
ORACLE_BASE=/home/oracle
ORACLE_HOME=/home/oracle/OraHome1
ORACLE_DOC=/home/oracle/doc
ORACLE_OWNER=oracle
ORACLE_SID=dbpmvr
export DISPLAY=:0.0
export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_OWNER ORACLE_DOC NLS_LANG NLS_DATE_FORMAT
PATH=$ORACLE_HOME/bin:$PATH:

E salve!

Depois entre no modo gráfico:

# startx

Digite como root:

# xhost +

Entre no CD e mande rodar o:

# ./runInstaller

Uma dica importante quando estiver instalando o client, em 20% da instalação edite o arquivo /home/oracle/OraHome1/libsysliblist, apague seu conteúdo e coloque este:

-ldl -lm -lpthread -lnsl -lirc -Wl,-allow-shlib-undefined

E salve.

Se tudo ocorreu bem a instalação vai funcionar sem erro.

Configurando tnsnames

Edite o arquivo tnsnames.ora:

DOMINIO.COM.BR =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = servicename)
    )
  )

Compilando Apache

Descompacte o arquivo:

# tar -zxvf apache_version.tar.gz # ./configure \ --prefix=/usr/local/apache --htdocsdir=/var/www/htdocs \ --cgidir=/var/www/cgi-bin --logfiledir=/var/log/apache \ --sysconfdir=/etc/apache --server-uid=nobody --server-gid=nobody \ --enable-module=so # make # make install

Compilando o PHP

Após ter baixado o PHP, descompacte o arquivo:

# tar -zxvf php-version.tar.gz

Entre no diretório:

# cd php-version

Digite o seguinte comando:

# ./configure --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib/php --datadir=/usr/share/php --sysconfdir=/etc/php --with-apxs=/usr/local/apache/bin/apxs --enable-calendar --with-db4=/usr/include/db4 --with-oracle=/home/oracle/OraHome1 --with-oci8=/home/oracle/OraHome1 --with-libxml-dir=/usr/lib/libxml2.a --enable-sigchild --enable-dbase

Depois o make:

# make
# make install


Se não der erro meus parabéns. Detalhe, só irá compilar se o cliente do Oracle estiver instalado.

Agradeço ao papai do céu por ter conseguido, senão essa hora eu estaria na rua.. lololololoo

Abraco pessoal!

Só rodar o Apache e testar...

:D
e-mail : [email protected] 
msn    : [email protected]

Outras dicas deste autor

Myauth 3 - Dois servidores utilizando o mesmo banco de dados

Replicar banco de login do Myauth 3

Exploit dá acesso root em máquina local - kernels 2.6.17 e 2.6.24.1

Envio de SMS pelo PHP

Explorando vulnerabilidades em websites

Leitura recomendada

Instalando o GCompris no Kurumin 7

Onde achar pacotes e distribuições antigas

Configurando Speedy no Slackware 12.2 corretamente

Arch Linux - Como procurar e encontrar programas

APT-GET: Resolvendo problemas com chave pública

  

Comentários
[1] Comentário enviado por cjorcl em 13/09/2010 - 20:03h

The --with-oracle option is NOT needed or recommended when using the OCI8 extension. It enables a completely different extension to the OCI8 extension.
The option is obsolete and not available in recent versions of PHP. The --enable-sigchild option is generally not needed. See http://blogs.oracle.com/opal/2009/03/php_oci8_signal_handling_and_e_1.html

In summary, you just need to use --with-oci8

[2] Comentário enviado por vinicius.almeida em 14/09/2010 - 14:27h

cjorcl

Me did not work with the parameter - with-oci8, got success only by following the article ..

[3] Comentário enviado por cjorcl em 14/09/2010 - 20:28h

If you really need to use 5.1, I'd recommend installing _without_ oci8, and then using the much more recent version of OCI8 from http://pecl.php.net/package/oci8.
See http://blogs.oracle.com/opal/2009/03/pecl_install_prompts_explained.html

But overall, it would be better to use PHP 5.3.3 instead of PHP 5.1.

[4] Comentário enviado por vinicius.almeida em 21/09/2010 - 15:02h

Interesting, thanks for the tip!



Contribuir com comentário