PHP com suporte a Oracle no Slackware 10

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

[ Hits: 5.934 ]

 


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 : valmeida@idea-planejamento.com 
msn    : vinicius@srvr.com.br

Outras dicas deste autor

DDOS utilizando hubs p2p

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

Estamos seguros no orkut?

Reduzindo o tempo de carregamento de seu site

Explorando vulnerabilidades em websites

Leitura recomendada

Obter IP da máquina com Terminal Linux

Instalando agente do Zabbix no Windows

Instalando Node.js no Debian 10 Buster

Treinamento shell script com Júlio Neves em Brasília

A ignorância é uma benção

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts