在PHP或XAMPP中找不到Firebird驱动程序

问题描述

当我启动第一个PHP项目时,我迷上了尝试连接Firebird数据库的一天,所以我想分享自己的解决方案,也许将来可以帮助其他人(或我自己)。

解决方法

规则很少,但很重要:

  1. 检查您的PHP体系结构(32或64位)
  2. 检查数据库版本(如果您有 file .fdb文件开头),以获取数据库的正确dll版本(否则您将无法连接到该版本)。 This is in spanish,但您会看到一些有用的命令。例如:我从安装了Firebase 2.1的系统中获得了一个 file .fdb。我尝试使用Firebird 3.0客户端dll,但无法连接,然后尝试使用2.5并运行)。
  3. 了解数据库版本和PHP体系结构,从Firebird downloads中选择正确的版本(32 o 64)。
  4. 安装数据库服务器(您可以在64位SO / PHP上安装32位服务器,此时就没有问题了。
  5. 尝试连接到它(您可以使用Dbeaver这样的SQL管理器来创建文件 .fdb并测试连接)。

现在您知道它正在运行,该配置PHP。

  1. 在php.ini中取消注释firebird pdo扩展名(extension = pdo_firebird)。

  2. 获取客户端库:如果您安装的Firebird服务器具有与PHP版本相同的体系结构,则可以直接从主Firebase文件夹中获取firebird dll(fbclient.dll)(例如:C:\ Program Files(x86)\ Firebird \ Firebird_2_0 \ bin),然后复制到php文件夹(例如:C:\ php)。如果您的Firebird服务器与PHP的体系结构不匹配,那么您可以从firebirdsql.org获得带有PHP拱门的ZIP包,然后只需将fbclient.dll从它下载到php文件夹。

  3. 如果您使用的是XAMPP,请将相同的dll添加到文件夹C:\ xampp \ apache \ bin中,以避免出现此错误

    PHP警告:PHP启动:无法加载动态库“ pdo_firebird”(尝试:C:\ xampp \ php \ ext \ pdo_firebird(找不到指定的模块。),C:\ xampp \ php \ ext \ php_pdo_firebird.dll(找不到指定的模块。)

现在,使用phpinfo,您将在PDO驱动程序部分中看到激活的firebird PDO驱动程序。