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
- 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
- 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 - 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/phpmake
sudo make install
sudo mkdir /etc/php5
sudo cp php.ini-dist /etc/php5 - Adicione ou descomente a linha abaixo do /etc/apache2/apache2.conf:
AddType application/x-httpd-php .php
- 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
English
Portuguese
9 comments ↓
Oi Wendell
eu não uso Oracle mas acho que o que você fez acima pode ser simplificado no Ubuntu. Se você tiver os deb-src no seu /etc/apt/sources.list, você poderia fazer:
apt-get build-dep php5
apt-get source php5
descompactar o arquivo tar.gz e editar o debian/rules para incluir as opções de compilação que você passou. Depois é só dar o debuild -us -uc no diretório do php5 e recriar o pacote.
[]s
Wendell!!
Muito bom o seu post, mais eu preciso de mais uma informação!
Bem eu baixei o Cliente Oracle, la do Site da Oracle!!!
E criei uma pasta /urs/local/oracle/, onde eta todo o cliente, porem na hora da instalação nao deu alguns erros. Porem a pasta instantclient, existe eu poderia pontar o PHP prar esta pasta? /usr/local/oracle/instantclient/ ?
Valeu!!!
Olá.
Você disse que na hora da instalação do PHP NÃO deu erros? Então tá tudo certo né?
Com relação a usar o instantclient ao invés do cliente normal, não vejo problema nisso. Até porquê você pode ter vários clientes instalados na mesma máquina, por exemplo: 9i e 10g. Na hora de compilar o PHP você diz qual cliente ele deve usar.
Qualquer dúvida, pode entrar em contato via msn (jonhwendell@hotmail.com) ou google talk (jonh.wendell@gmail.com)
Ajudarei no que for capaz.
Abraços!
Ola amigos,
Gostaria de informar aos que receberem o erro “Oracle-OCI8 needed libraries not found” na compilacao do PHP. Que para solucionar este proble basta trocar o seguinte paramentro na compilacao do PHP.
troque este: –with-oci8=instant_client,/usr/lib/instantclient
por este: -with-oci8-instant-client/usr/lib/instantclient
Qualquer coisa entrem em contato (murilogoulart@gmail.com).
Obrigado ao criador deste howto, Foi de grande ajuda.
Wendel,
Eu fiz os seguintes passos:
$ pecl install oci8
Informei “instant_client,/usr/lib/instantclient” quando pediu o caminho das libs do Oracle.
Depois, editei o php.ini e incluí a linha abaixo no final do arquivo:
extension=oci8.so
Ainda não testei, mas já aparece tudo certo no phpinfo()
[...] Link: http://www.bani.com.br/?p=5 [...]
quando tento compilar da essa mensagem de erro o que faço?
configure: warning: –with-apxs2=/usr/bin/apxs2: invalid host type
configure: warning: –with-oci8=instantclient,/usr/lib/instantclient: invalid host type
configure: error: can only configure for one host and one target at a time
Rodrigo, acho que vc copiou e colou, aí ele cola errado mesmo
Os parametros são sempre dois hífens: –with….
Wendel,
Baixei o InstantClieente, instalei conforme voce recomendou e compilei o php5. Beleza sem problemas.
Criei o info.php e coloquei no /var/www. Porem quando chamo o firefox no endereco hhtp://localhost/info.php em vez de executar o script php ele aparece a tela de downlod do info.php.
Esta faltando alguma configuração que eu esqueci de fazer ?
Grato,
Helder
Leave a Comment