Salve,
Atualizado: tive problemas ao instalar no Ubuntu 11.04, não sei a causa de não funcionar como antes, mesmo passando o ORACLE_HOME ele não estava pegando, ai descobrir que o erro erá por está fixado um padrão de diretório onde deve-se colocar os arquivos do instant client, com isso tive que seguir o padrão, eliminando 2 passos e deixando mais organizado a instalação.
Receita rápida para funcionar o suporte a Oracle no PHP, no Ubuntu Linux, usando versão 10.10 ou 11.04 64bits.
Primeiro baixe os arquivos do Instant Client aqui, versão 10.2.0.5 ou 11.2.0.2, eles são:
- basic-10.2.0.5.0-linux-x64.zip
- sqlplus-10.2.0.5.0-linux-x64.zip
- sdk-10.2.0.5.0-linux-x64.zip
Vá para a pasta /usr e crie a seguinte estrutura:
cd /usr/lib
sudo mkdir -p oracle/10.2.0.5/client
cd oracle/10.2.0.5/client
Descompacte os arquivos baixados, lembrando que precisa está como root ou usando o sudo:
sudo unzip basic-10.2.0.5.0-linux-x64.zip
sudo unzip sdk-10.2.0.5.0-linux-x64.zip
sudo unzip sqlplus-10.2.0.5.0-linux-x64.zip
Mova tudo da pasta instantclient_10_2 para a atual e apague a instantclient_10_2
sudo mv instantclient_10_2/* .
sudo rm -rf instantclient_10_2/
Crie os links simbólicos:
sudo ln -s /usr/lib/oracle/10.2.0.5/client/libclntsh.so.10.1 /usr/lib/oracle/10.2.0.5/client/libclntsh.so
sudo ln -s /usr/lib/oracle/10.2.0.5/client/libocci.so.10.1 /usr/lib/oracle/10.2.0.5/client/libocci.so
sudo ln -s /usr/lib/oracle/10.2.0.5/client/ /usr/lib/oracle/10.2.0.5/client/lib
sudo ln -s /usr/lib/oracle/10.2.0.5/client/sdk/include /usr/lib/oracle/10.2.0.5/client/include
Instale a extensão oci8 via PECL:
sudo pecl install oci8
Ele vai pedir o caminho da do Instant Cliente, então você informa:
instantclient,/usr/lib/oracle/10.2.0.5/client/
Adicione a extensão no php.ini:
extension=oci8.so
Baixe o pacote PDO_OCI, via PECL, para compilarmos:
sudo pecl download pdo_oci
Descompacte e entre na pasta do PDO_OCI:
sudo tar xvfz PDO_OCI-1.0.tgz
cd PDO_OCI-1.0
Agora siga os passos da compilação:
sudo phpize
sudo ./configure --with-pdo-oci=instantclient,/usr,10.2.0.5
Se você teve problema no passo acima, principalmente em versão 32bits, abra o arquivo configure, procure por pdo_driver e nas linhas desse bloco ( IF/ELSE IF/ELSE ), mude os caminhos da pasta do php onde tem php/ext/ para php5/ext/ pois no Ubuntu a pasta do PHP é php5 em vez de php.
sudo make
sudo make install
Adicione a extensão no php.ini:
extension=pdo_oci.so
Recarregue o apache:
sudo service apache2 reload
** Plus:
Adicione o sqlplus no /usr/bin para poder executar/conectar/fazer consultas via terminal:
sudo ln -s /usr/lib/oracle/10.2.0.5/client/sqlplus /usr/bin/
Edite o arquivo /etc/ld.so.conf e adicione o caminho para a pasta de instalação do InstantClient /usr/lib/oracle/10.2.0.5/client/ e depois recarregue a ldconfig:
sudo vim /etc/ld.so.conf
sudo ldconfig
Pronto. Crie um arquivo chamando o phpinfo() e veja se está instalado o suporte a Oracle.