Recentemente precisei fazer com que um servidor Ubuntu + Apache + PHP se conectasse ao Oracle. Como não sou um especialista em LAMP e nem em Oracle, tive muita dificuldade em encontrar um tutorial que demonstrasse como fazer essa "mágica". Aqui pretendo ajudar os meros mortais como eu que ainda não são experts no mundo Linux a fazer essa configuração.
Eu baixei os arquivos na seguinte pasta: /home/cpd/Oracle
Então vamos seguir os seguintes passos.
Entrar na pasta que foi feito o download dos arquivos;
cd /home/cpd/Oracle
Com o comando abaixo já assumi o console com o usuário root:
sudo su
Obs.: Daqui para frente todos os comandos foram executados como root, caso prefira pode executar os comandos com o usuário comum, não se esquecendo de adicionar no começo de cada comando a palavra "sudo".
Será criada uma pasta em /home/cpd/Oracle com o nome instantclient_11_2. O pacote Basic extrai os arquivos em /home/cpd/Oracle/instantclient_11_2 e o SDK em /home/cpd/Oracle/instantclient_11_2/sdk. O nome das pastas pode variar de acordo com a versão do instantclient baixada.
Entrar na pasta extraída e criar os links simbólicos:
Após o comando acima aparecerá um prompt solicitando a pasta que contém as libs do Oracle... eu não sei porque ele ainda pede isso já que já setamos no parâmetro --with-oci8 e a variável ORACLE_HOME, mas já que está pedindo de novo você deve digitar o seguinte:
instantclient,/home/cpd/Oracle/instantclient_11_2
Lembrando que o "instantclient," é obrigatório e o restante é a pasta que você extraiu o instantclient.
[1] Comentário enviado por quartodazona em 01/05/2010 - 07:39h
Amigo, onde trabalho, já integro o Oracle no PHP desta maneira que você mostrou e acesso numa boa, mas eu gostaria de saber como compilar o PDO do Oracle no PHP. O meu padrão de configuração do PHP antes de compilá-lo está descrito abaixo e funciona numa boa, se eu retirar 2 linhas.
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql \
--enable-dba=shared \
--enable-ftp \
--enable-mbstring \
--with-mysqli \
--with-pdo-mysql \
--with-pdo-oci8 \ <--- Esta linha dá pau
--with-pdo-oci \ <--- Esta linha aqui também dá pau
--with-mcrypt \
--with-gd \
--with-gettext \
--with-jpeg-dir=/usr/lib \
--with-zlib-dir=/lib \
--with-bz2=/lib \
--enable-sigchild \
--with-config-file-path=/usr/local/apache/conf \
--with-oci8=instantclient,/usr/local/instantclient_11_2
Se eu tirar aquelas linhas, consigo compilar numa boa, mas eu gostaria de usar o PDO, como uso no MySQL, pois com ele minha biblioteca de conexão com o banco fica igual para qualquer banco de dados que eu for utilizar, bem menor em tamanho de código e funciona numa boa. Você poderia me ajudar?