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

Firebird driver not found in PHP or XAMPP

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

规则很少但很重要:

  1. 检查您的 PHP 架构(32 或 64 位)
  2. 检查数据库版本(如果您有一个 file.fdb 文件作为起点)以获得适合您数据库的正确 dll 版本(否则您将无法连接到它) . This is in spanish,但你可以看到一些有用的命令。例如:我有一个 file.fdb 来自安装了 Firebase 2.1 的系统。我尝试使用 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 扩展(扩展=pdo_firebird)。

  2. 获取客户​​端库:如果您安装的 Firebird 服务器的架构与 PHP 版本相同,您可以直接从主 firebase 文件夹(例如: C:\Program Files (x86)\Firebird\Firebird_2_0\bin) 并复制到 php 文件夹(例如:C:\php)。如果您的 Firebird 服务器与 PHP 的体系结构不匹配,那么您可以从 firebirdsql.org 获取带有 PHP arch 的 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 驱动程序处于活动状态。