Configurando conexão com PHP + Oracle usando CentOS 6.3 / Red Hat 6.3

Neste artigo vou descrever a maneira mais simples e rapida para configurar o PHP para suporte com Oracle.

Antes de iniciar é necessário ter alguns pacotes básicos instalados;

1
# yum install gcc gcc-c++ autoconf libaio

Instalar o servidor web Apache
O comando abaixo instala o servidor web apache.

1
# yum -y install httpd

Configure para iniciar junto co o boot
Agora configuramos o apache para iniciar junto com o boot.

1
# chkconfig httpd on

Instalar o PHP
Instalando o PHP

1
# yum -y install php php-devel php-pear

Para instalar todas as bibliotecas do PHP – esta etapa não é obrigatoria
O comando abaixo instala todas as extensões disponíveis para o PHP

1
# yum -y install php*

Configurar o SELINUX
Agora vamos desabilitar SELINUX para não interferir no servidor httpd

1
2
3
/etc/sysconfig/selinux
 
# SELINUX=disabled

Instalar o Oracle client
Agora precisamos baixar o client do oracle no site Oracle.com é necessário fazer um cadastro rápido e gratuito.
Lembrando que você deve baixar de acordo com a arquitetura i686 ou x64

O comando abaixo instala os pacotes RPM.
x86_64
oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

1
2
# rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
# rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

i686/i386
oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm
oracle-instantclient11.2-devel-11.2.0.1.0-1.i386.rpm

1
2
# rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm
# rpm -ivh oracle-instantclient11.2-devel-11.2.0.1.0-1.i386.rpm

Agora é necessário setar a variável D_LIBRARY_PATH para o caminho da instalação do oracle client, que será carregado durante a Instalação do OCI8

1
2
# export LD_LIBRARY_PATH=/usr/lib/oracle/
# export LD_LIBRARY_PATH=/usr/lib64/oracle/

PHP – Instalação das extensões PECL
http://php.net/manual/pt_BR/install.pecl.php

Instalar o OCI – http://pecl.php.net/package/oci8

1
# pecl install oci8

Quando for solicitado o caminho do oracle_home, pressione enter caso tenha usado o comando export LD_LIBRARY_PATH apontando para o caminho do oracle client ou informar o caminho da instalação
Lembrando que tem diferença entre as plataformas i686 e x64(de acordo com a versão de plataforma e client do oracle usados)
Para suporte
http://php.net/manual/pt_BR/install.pecl.php

Editar o arquivo php.ini

1
# /etc/php.ini

Acrescentar a linha

1
# extension=oci8.so

reiniciar o host

1
# reboot

após reiniciar crie um arquivo phpinfo.php

1
<!--?php phpinfo(); ?-->

Se tudo ocorreu bem deverá aparecer o modulo OCI conforme a imagem abaixo

Problemas comuns

1
2
3
4
5
6
7
8
9
10
When running the CLI version of PHP from the command line, you may receive errors like the following:
[root@myserver /root]$ php -v
PHP Warning: Module 'pcre' already loaded in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/spl.so' - /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/spl.so: Undefined symbol "pcre_exec" in Unknown on line 0
 PHP Warning: Module 'SimpleXML' already loaded in Unknown on line 0
PHP Warning: Module 'session' already loaded in Unknown on line 0
PHP Warning: Module 'exif' already loaded in Unknown on line 0
PHP 5.2.3 (cli) (built: Jun 14 2007 15:29:17)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

Como resolver?
-Verifique se desabilitou o SELINUX após a configuração é necessário reiniciar o host.

 

Atualizado em 28/04/2018

Para instalar o suporte para PHP 5.4 no Linux CentOS 7

pecl install oci8-2.0.12

Extra: Quando tiver problemas para conexão pelo SQL PLUS (sqlplus command not found on Linux)

(para usar o SQLPLUS)
# yum install glibc.i686

Você pode abrir o SQLPLUS para testar a conexão com o banco de dados

Digite no terminal o comando sqlplus

# sqlplus

Para descobrir o diretorio de instalação do Oracle

#find / -name sqlplus -print

Resultado será parecido com:

# /u01/app/oracle/product/database/bin/sqlplus

Execute o comando para indicador o local

ORACLE_HOME=/u01/app/oracle/product/database
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin
export PATH

Hoje vou mostrar como instalar e configurar o script PHPSysInfo no Red Hat 6.2,
O PhpSysInfo é um script PHP que exibe as informações do Hardware e Sistema, mas antes temos que instalar e configurar o Apache + PHP.
print_phpsysinfo

Para ver uma demostração do script funcionando acesse o link
http://phpsysinfo.sourceforge.net/phpsysinfo

Começando vamos instalar o apache e PHP, no terminal digite o comando abaixo lembrando que é necessário estar logado como root.

1
yum install httpd php php-xml -y

vamos configurar servidor web para iniciar junto com o OS.

1
chkconfig httpd on

agora inicie o servidor web com o comando

1
service httpd start

abra o navegador e digite o ip do servidor para ver se esta funcionando, será mostrada uma tela conforme imagem abaixo.
Red Hat

agora vamos criar uma pasta com o nome ‘phpsysinfo’ dentro do diretorio /var/www/

1
mkdir /var/www/phpsysinfo

Baixe o script no link http://phpsysinfo.sourceforge.net/ e descompacte ele no diretorio que criamos acima.

Renomeie o arquivo config.php.new para config.php

1
rename config.php.new config.php

em seguida vamos alterar a pagina padrão do apache para mostrar o script como principal.

Edite o arquivo /etc/httpd/conf/httpd.conf acrescente no final do arquivo as linhas abaixo, alterando conforme as configurações do seu server.

1
2
3
4
5
6
7
8
NameVirtualHost *:80
<virtualHost *:80>
    ServerAdmin eu@fabianobento.com.br
    DocumentRoot /var/www/phpsysinfo
    ServerName srv01.fabianobento.com.br
    ErrorLog logs/srv01.fabianobento.com.br-error_log
    CustomLog logs/srv01.fabianobento.com.br-access_log common
</virtualHost>

vamos editar o arquivo welcome.conf para não carregar mais a pagina padrão do apache.
usando o vi ou um outro de sua preferencia abra o arquivo /etc/httpd/conf/conf.d/welcome.conf e comente todas as linhas usando o #(sharp) na primeira coluna.

1
/etc/httpd/conf/conf.d/welcome.conf

reinicie o serviço apache

1
service httpd restart

Não esqueça de liberar a porta 80 no firewall (IPTABLES)

Pronto! agora você ja pode ver as estatisticas do sistema.

Um pacotão completo e gratuito que inclui Apache, PHP5, MySQL database, PHPmyadmin e SQLitemanager!

O WAMP5 (que significa Windows, Apache, MySQL, PHP5) é um pacote de programas que instala automaticamente o Apache 1.331, PHP5, MySQL database, PHPmyadmin e SQLitemanager. Disponibiliza também suporte ao uso de scripts PHP e comporta vários add-ons encontrados no site oficial.

Com esse pacote você poderá fazer sua página na Internet com muito mais vantagens e vai incrementar ele com muitos mais recursos. Também tornará o site mais dinâmico e rápido conforme a sua habilidade e conforme o servidor de onde você vai hospedar.

Também é possível criar um servidor que possa hospedar e armazenar dados ou páginas da Internet em um banco de dados.

Baixar
Para baixar clique aqui

O que é?

Apache:

É um dos maiores servidores de web livre e foi criado em cima de códigos já prontos.O servidor é compatível com o protocolo HTTP. Para saber mais sobre as funcionalidades visite o site oficial do Apache (em inglês).

PHP5:

PHP ao pé da letra significa Hypertext Preprocessor. De maneira geral, o PHP é uma linguagem livre orientada a objetos que cria scripts simples. Scripts são partes de um código que executam alguma função. O PHP5 veio com algumas mudanças para tornar a linguagem um pouco mais forte: é possível refazer construtores e os destruir, com maior visibilidade no acesso, abstração de objetos e, por fim, a interface de objetos.

Para mais informações sobre o programa, visite o site oficial do PHP (em inglês).

MySQL database:

MySQL é um sistema gerenciador de banco de dados (SGDB) que funciona de forma estruturada. Possui um excelente desempenho e é um software livre. Compatível com muitos drivers e também módulos de interfaces para muitas linguagens de programação. Suporta vários tipos de tabelas.

Para mais informações sobre o MySQL database, visite o site oficial do MySQL (em inglês).

PHPmyadmin:

Programa desenvolvido para a parte administrativa do PHP. É possível criar e deletar bases de dados ou tabelas. É possível que você faça alterações nas suas tabelas, campos, enfim, tudo o que você precisar alterar na sua base de dados.

SQLitemanager:

É o sistema gerenciador do SQL. Você pode aplicar o SQLitemanager na hora que estiver montando o seu banco de dados com o MySQL database, que também é incluso no pacote do WAMP5.

Quando você instalar o WAMP5, todos os arquivos são copiados no diretório que você escolher. Se você preferir baixar os programas inclusos no WAMP5 separadamente, confira alguns deles que o Baixaki já disponibilizou para você: PHP5, Apache e o phpMyAdmin.

Fonte: Baixaki