Configurando suporte Firebird no LAMP (xampp) em Lubuntu

Depois de muito quebrar a cabeça, esse artigo ensina como compilar os componentes para dar suporte do Firebird ao LAMPP. Como instalar as bibliotecas e passar pelo doloroso processo de compilação das fontes para ter suporte Firebird no LAMPP.

[ Hits: 10.205 ]

Por: Perfil removido em 24/11/2015


Compilando a extensão do PHP para obter o interbase.so



Claro que procurei na internet um arquivo interbase.so - e achei. Quando coloquei ele na pasta e reiniciei o Apache, a conexão continuava sem funcionar e o error log mostrava o seguinte:

PHP Warning:  PHP Startup: interbase: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20131226
These options need to match
in Unknown on line 0


Assim, meu maior temor se concretizou: eu teria que compilar o driver interbase.so no braço para que ele rodasse no xampp. Sinceramente, não sabia muito por onde começar...

Eu tinha a ideia que eu precisava da fonte do PHP e de algumas bibliotecas (quais eu não fazia ideia de quais) e que os processos de compilação eram sempre em 3 etapas; 1) configure, 2) make e 3) make install. Fora isso eu não tinha nem uma pista de onde e como realizar.

Bom, eu resumo, o que precisamos para resolver o problema é:
  1. Compilar a extensão interbase.so com a versão idêntica a do php que veio instalado no xampp.
  2. Para isso precisamos da fone do PHP (no meu caso do php5)
  3. Vamos precisar das fontes do firebird também - não das fontes em si mas de algumas bibliotecas que acompanham as fontes.

Recomendo a seguinte ordem:

1. Baixe a fonte do php (sudo apt-get source php5). Antes use "cd /usr/local/src" para baixar a fonte aqui. A fonte vai ficar descompactada em uma pasta dentro de usr/local/src. No meu caso a pasta era "php5-5.6.4+dfsg/". Agora baixe o fonte do firebird2.5 usando:

sudo apt-get source firebird2.5-super

A pasta criada no meu caso foi a firebird2.5-2.5.3.26778.ds4/.

2. Dentro da pasta fonte do php existe um diretório "/ext/interbase/" - vá até ele. Comando sudo phpize para compilar a extensão interbase do php. Se der certo, o arquivo "configure", entre outros, é criado. Então crie um link dinâmico na pasta da extensão do interbase para a fonte do firebird com:

sudo ln -s /usr/local/src/firebird2.5-2.5.3.26778.ds4/

Para finalizar, baixe as bibliotecas de desenvolvedor do firebird/interbase com:

sudo apt-get install firebird-dev

3. DÊ o comando:

sudo ./configure

na pasta da extensão do interbase para PHP. É provável que peça algumas bibliotecas auxiliares, como a libgds. Use o apt-get para baixar e tente novamente o "sudo ./configure". Se tudo deu certo, o make vai estar disponível.

4. Feito isso, dê um sudo make. Se tudo deu certo, o comando rodará sem mostrar mensagens de erro. Por precaução, pode-se rodar ainda o sudo make test e uma série de testes são feitos com o plugin - demora um pouco, mas pode ser útil para ver se o componente está corretamente instalado.

5.Por fim, o sudo make install vai criar o interbase.so e vai copiar para a pasta do lib do php (no meu caso foi em /usr/lib/php5/20131226/).

A partir daqui, imagino que os problemas devam estar resolvidos! ;)

Copie o interbase.so recém criado para a pasta /opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/ e ative a configuração no php.ini, como dito acima.

Reinicie o Apache e teste o lampp!

Como dá para perceber, não quis escrever um tutorial "receita de bolo" e fiz questão de mostrar os passos que passei pois entendo que pode ser útil. Espero que ajude alguém.

Boa sorte a todos que precisarem!

Página anterior    

Páginas do artigo
   1. Introdução
   2. Preparando o PHP e fazendo nascer o interbase.so
   3. Compilando a extensão do PHP para obter o interbase.so
Outros artigos deste autor

Enviando alertas do Snort por SMS

Minha experiência com Linux

Sistemas de arquivos para GNU/Linux

Monitorando processos no Linux com o Htop

Zenwalk - Uma distro e tanto

Leitura recomendada

Pós-instalação do Sabayon LXDE

Chakra GNU/Linux

Como desabilitar RAID 1

Sistema de arquivos criptografado

Assistindo TV usando a placa VideoHighway Xtreme (ou outra baseada no bttv)

  
Comentários
[1] Comentário enviado por theusccruz em 04/12/2020 - 00:26h

Amigo muito obrigado!!!
Estava sofrendo muito com esse erro, agradeço muito

abraços!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts