sexta-feira, 23 de maio de 2008

PHP com suporte a Firebird/Interbase

Para instalar o php com suporte ao interbase, foram realizados os seguintes procedimentos: (atualizado)

1) Instalação do apache com suporte a módulos dinâmicos (DSO).
2) Instalação do padrao do firebird para funcionar a conexão.
3) Instaleção do php via DSO e, criação da biblioteca compartilhada para interbase.

1) Apache.- Versão 2.2.8
Depois de feito o download do apache, foi feito a seguinte configuração. Lembrando que a compilação vai do gosto de cada
um:
Obs: todas as compilações foram feitas com usuário normal (não-root), passando para root na hora de executar o make install.

$ ./configure --prefix=/usr/local/apache2 --exec-prefix=/usr/local/apache2 --enable-headers --enable-ssl --enable-vhost-alias --enable-proxy --enable-http --enable-rewrite --enable-so
$ make
$ su
# make install

Ok, o apache está compilado e instalado.

2) Firebird
Foi feito o download do Firebird na versão FirebirdCS-1.5.5.4926-0.i686.tar.gz.
Para instalação, foi executado em modo de instalação padrão o arquivo "install.sh" que se encontra dentro da pasta FirebirdCS-1.5.5.4926-0.i686 que é criada após a descompactação do arquivo "tar.gz"
Após a execução do arquivo install.sh, será criada a pasta /opt/firebird (que faz parte da instalação padrão).
A instalação do firebird não será abordada aqui.

OBS: Em alguns testes, era preciso que o firebird estive-se rodando para o php acessar os bancos de dados.

Agora vamos ao php...!

3) Php - Versão 4.4.8

Seguindo os mesmo passos do Apache, faça o download do php tarball do site e compile conforme sua necessidade. Toda a compilação foi feita em modo usuário normal.
A compilação do php também é temperada a gosto conforme à necessidade.

Neste exemplo, já existe uma instalação de apache e php em versões anteriores para outros testes e serviços rodando nos diretórios padrões /usr/local/apache e /usr/local/lib (para php) portanto, foi instalado o php e apache em diretórios diferentes como pode ser visto nas linhas do configure, abaixo.

$ ./configure --prefix=/usr/local/php-4.4 --exec-prefix=/usr/local/php-4.4 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --enable-safe-mode --disable-ipv6 --with-zlib --with-zip=/usr --with-interbase=shared,/opt/firebird --with-openssl
$ make
$ su
# make install

A opção de compilação "--with-interbase=shared,/opt/firebird" deve estar presente para que o php gere um módulo do interbase para funcionar corretamente.
Depois de compilado e instalado, ainda no pasta fonte do php, entre na pasta "modules" e verifique a existencia do arquivo "interbase.so", copie este arquivo para a pasta de "extesions" que será configurada no php.ini.
Como já existia uma instalação do php-4.1.2 neste servidor, o diretório padrão desta versão 4.4.8 está em /usr/local/php-4.4.8.

# cp interbase.so /usr/local/php-4.4/lib/php/extensions

Feito isto, copie o php.ini-dist /usr/local/php-4.4/lib
Pronto, agora é só editar o php.ini e testar.

# cd /usr/local/php-4.4/lib

# vi php.ini
Dentro do php.ini você vai procurar pela linha "extension=interbase.so" e descomentá-la.
Procure também a linha "extension_dir" e coloque-a apontando para a pasta de extensões utilizadas pelo php, nesta caso ficaria assim:

extension_dir = "/usr/local/php-4.4/lib/php/extensions"

Ok, feito isto o servidor está apto a funcionar acessando banco de dados firebird.
Configure um vhost no apache, crie seus scripts de conexão com o firebird e faça os testes.

Obs: Em uma versão de testes, foi compilado o Apache 1.3.37 com php 4.1.2 onde o script que conectava no banco realizava a conexão mas a rotina só apresentava as informações até uma parte ou seja, não concluia todo o processo. Só para registrar =)

Abraço até a próxima...!

Nenhum comentário: