WampServer – PHP 5.3 e Firebird 2.5 [Resolvido]

Problemas ao estabelecer conexão PHP 5.3 e Firebird, utilizando o WampServer ou Xampp? Tavez este post possa ajudar. Confira!

Icon

dllphpfirebird-20101223.zip
499.65 KB 10752 downloads

DLLs para conexão PHP 5.3 e Firebird 2.5

Problema

Essa semana eu tive uns probleminhas para instalar o Wampserver no Windows 7. O problema da instalação e compatibilidade com o Windows 7 foi resolvido reinstalando uma versão mais recente do WampServer – WampServer 2.0i (July 11 2009). Porém, mesmo assim, dava erro ao tentar estabelecer conexão usando Firebird, algo como “Fatal error: Call to undefined function ibase_connect()” e outros.

Solução

Na verdade tentei tanta coisa que nem sei ao certo qual delas fez funcionar :P. Então, siga o passo 1 e 2, se ainda não funcionar, vá para o 3, e assim por diante. O que importa é que agora aqui está funcionando e por isso resolvi postar para caso alguém esteja com problema semelhante.

O detalhe é que testei tanto no XAMPP como no WAMP, e ambos funcionaram bem, considerando o ambiente com Windows 7 + Firebird 2.5 + WampServer2.0i (PHP 5.3.0).

Coloquei as DLL php_interbase.dll, fbclient.dll e gds32.dll que utilizei, disponível para download (ver acima), para caso você precise. Então, vamos ao que interessa, aí vai a dica:

(1) Copie php_interbase.dll para C:\wamp\bin\php\php5.3.0\ext. (Faça isto se a dll não existir)

(2) Habilite (tire a vírgula do início da linha) a opção extension=php_interbase.dll no C:\wamp\bin\apache\Apache2.2.11\bin\php.ini. OBSERVAÇÃO: Se não tiver essa entrada, acrescente-a!

Agora, faça um teste: Reinicie o Apache e veja se a conexão já funciona. Se negativo, siga adiante:

(3) Copie fbclient.dll e gds32.dll para C:\wamp\bin\apache\Apache2.2.11\bin. Seria uma boa que estes arquivos também estivessem em C:\Windows\System32, caso já não tenha.

(4) Instale versão nova do Firebird-2.5.0.26074_1_Win32

(5) Libere no firewall do windows 7 a porta 3050 (Firebird) (Configurações avançadas > Regras de Entrada > Nova Regra > Porta > … )

Lembre-se de reiniciar o serviço do Apache a cada vez que for testar o funcionamento.

Segue abaixo um simples exemplo de conexão PHP x Firebird:

conexao.php | Conexão PHP com Firebird

1
2
3
4
5
6
<?php 
      $hostname = 'localhost:/wamp/www/database/MEUBANCODEDADOS.gdb';
      $username = 'sysdba';
      $password = 'masterkey';
      ibase_connect($hostname, $username, $password);
?>
Total de acessos: 82195

38 comentários sobre “WampServer – PHP 5.3 e Firebird 2.5 [Resolvido]

  1. André Cezimbra disse:

    Bah meu! Não consigo fazer funcionar de jeito nenhum esse comando ibase_connect…
    Mas nem com reza de cigano macho!
    já tentei passar os 7 parâmetros, DB, User, Pass, Charset,Buffer,Dialect,Role…
    já tentei usar a barra \ assim… já tentei usar 127.0.0.1 ao invés de localhost…
    Não sei mais o que fazer…
    Sem contar que meu íconezinho ao lado do relógio está sempre dizendo: WAMPSERVER – servidor OFFLINE.
    Me ajuda ae chefe!

  2. Opa, bem-vindo ao mundo da informática. Funcionar de primeira não tem graça :D. Bom, pra começar, esse Post foi feito e testado com Windows 7. Inclusive aquele exemplo de conexão Firebird acima, do jeito que está ali, com o sentido das barras e tudo, está funcionando para mim. Então vamos por partes… desinstale todas as versões anteriores do seu Wampserver (antes, faça o backup do seu www). Instale uma versão do Wampserver zeradinha daqui: http://www.wampserver.com/en/download.php. Desinstale também seu Firebird e pegue a versão nova aqui: http://www.firebirdsql.org/index.php?op=files. Após instalá-lo, daí siga apenas o procedimento descrito na dica (1) e (2) deste Post. Reinicie o serviços do Wampserver e tente fazer uma conexão simples, conforme código acima, apenas corrigindo o caminho e o nome do banco, claro. Qualquer erro, dê uma olhada nos logs do Apache, que fica em C:\wamp\bin\apache\Apache2.2.11\logs. Falou, t+

  3. Cleivo Baldin disse:

    Caro Taylor, você encontrou a versão correta do arquivo php_interbase.dll. Mas o fundamental foi copiar os arquivos fbclient.dll e gds32.dll para a pasta bin do apache.

    Muito obrigado, quebrei muito a cabeça para fazer esta conexão.

  4. Camila disse:

    Oi Taylor, tudo bem?
    Onde você conseguiu a versão correta do arquivo php_interbase.dll? Eu tenho instalado o php 5.3.6 VC9, ele dá um erro ao reiniciar o apache por causa disso.

  5. Menandro Neto disse:

    Parabéns pelo post… matador de problemas…

    Agora estou querendo fazer o acesso via PDO.

    Caso consiga posto aqui como comentário.

    Obrigado!

  6. Brayan disse:

    Cara nao consegui de jeito nenhum, por via das duvidas peguei uma maquina virtual do zero e fui fazendo e nada. o erro: Call to undefined function ibase_connect() continua, nao sei mais o q fazer, ja sao 2 dias tentando e tentando e nada ://

  7. Brayan disse:

    Opa, agora com o Xampp funcionou, troquei os arquivos q eu tinha baixado pelos que vc disponibilizou na pasta php\ext e deu certo
    ótima dica, parabéns e valeuu

  8. Maycon Morcelli disse:

    Obrigado.
    segui a sua receita de bolo, e acabei com uma angustia de meses.
    pois so conseguia fazer o php conectar atravez dos drivers ODBC..

    Obrigado.

  9. Marcos Bernardo disse:

    Grande Taylor Lopes,

    Obrigado… Encontrei uma luz.. para portar uma aplicação pra web + cakephp

    Consegui tambem fazer funcionar com o FB 2.0
    Instalei o FB 2.5 depois desinstalei e voltei o FB2.0
    Porem sua FBClient e 2.5 funcionou até com SPs no CakePHP 1.3.8

    Obrigado
    Marcos

  10. Alexander Luiz disse:

    Eu estava tendo tais problemas tbm e não conseguia resolvê-los de jeito nenhum. Até que encontrei na net, não me lembro onde, alguém dizendo para colocar duas contra barras “\\” no endereço do banco na conexão. Não acreditei, mas como já estava cansado, tentei… E para minha surpresa deu certo, agora funcionou… Se alguem quiser ajuda, pode escrever para sete.estrelo@gmail.com que eu ajudo…

    Fiquem com Deus…

    Att.
    Alexy

  11. Dionatan Mayer disse:

    Valeu cara, muito bom, resolveu meu problema com a conexão, pois procurei por meses uma solução instalando firebird, apache e php separadamente, até q tentei este seu metodo e funcionou, muito obrigado, valeu…

  12. William disse:

    Me ajudou muito, no meu caso uso o xampp e após ter colocado as Dll´s nos diretórios do Php e Apache o serviço do Apache subiu e consegui conectar ao fire… muito obrigado pela dica… abraço!

  13. Carlos Félix disse:

    Então… quando o banco está local, funciona, mas minha intensão é disponibilizar para quem não tem o banco através do site de uma empresa… tem jeito?

    Valeu

    • Desculpe, mas não entendi sua dificuldade. A solução acima é indicada para quem quer usar o PHP com Firebird. Portanto, precisa ter acesso ao servidor Web onde o código-fonte está hospedado, ou então solicitar ao seu provedor que ajuste a configuração, caso não esteja funcionando.

  14. Fatal error: Call to undefined function ibase_connect() in C:\Webserver\www\teste_Firebird.php on line 5, no meu aparece esse erro, eu fiz o script no DreamwaverCS5, se puder me ajude.

  15. Douglas disse:

    Estava desenvolvendo com Codeigniter, no minha maquina com Wamp(PHP 5.3.5). Foi só ativar as extensões no php.ini e colar estas dlls que tudo funcionou.! Vlw!

  16. Leonardo disse:

    Valeu cara, a primeira solução já foi o suficiente pra mim. Nem precisei baixar a dll, só não sabia da necessidade de habilitar a extensão de interbase. Depois de habilitar foi tudo lisinho!

    Abraço

  17. Olá pessoal, tudo bem, Sou iniciante no PHP e estou com este codigo abaixo:

    Aparentemente, estou conectado ao firebird, mas esta me dando este erro:

    Parse error: syntax error, unexpected ‘if’ (T_IF), expecting ‘)’ in C:\wamp\www\fb\index.php on line 11

    Ja pesquisei no google, mas ate agora nao consegui resolver, alguem pode ajudar?

  18. Nilton disse:

    Pessoal, preciso de ajuda, não consigo fazer funcionar.
    Segui todas as dicas e ao executar o wampserver, aparece a mensagem:

    PHP Startup: Unable to load dynamic library
    ‘c:/wamp/bin/php/php5.5.12/ext/php_interbase.dll’ – %1 não é um aplicativo Win32 válido.

    uso o wampserver com a versão:
    php5.5.12
    apache2.4.9

  19. Menandro Neto disse:

    Seguinte, mais uma dica para quem usar a versão mais recente do WAMP 2.5, por exemplo, o arquivo php.ini esta na pasta do apache server.

    C:\wamp\bin\apache\apache2.4.9\bin

    Observe foi caso aqui…

  20. Ivan disse:

    Muito obrigado!
    Depois de um dia inteiro de stress tentando conectar com o firebird, graças a sua dica consegui. Se conseguir conectar o firebird com PDO nos ajude também.

    Abraço.

  21. Duilio disse:

    ###################################################
    ###################################################

    PRECISA COLOCAR A FBCLIENT.DLL NO DIRETÓRIO ../XAMPP/APACHE/BIN

    ###################################################
    ###################################################

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *