【问题标题】:Firebird driver not found in PHP or XAMPP在 PHP 或 XAMPP 中找不到 Firebird 驱动程序
【发布时间】:2020-08-20 12:19:23
【问题描述】:

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

【问题讨论】:

    标签: php pdo firebird


    【解决方案1】:

    规则很少,但很重要:

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

    现在你知道它可以工作了,是时候配置 PHP了。

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

    2. 获取客户端库:如果您安装了与 PHP 版本相同架构的 Firebird 服务器,您可以直接从主 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 驱动程序处于活动状态。

    【讨论】:

    • 您不需要安装 32 位 Firebird 服务器 如果您使用 32 位 PHP,则需要安装 32 位 Firebird 客户端库(您可以使用服务器安装程序只安装客户端库)。
    • 你是对的,我将编辑以反映此信息。我对此并不完全确定,因为没有尝试(一旦我必须安装 Firebird 服务器,我安装了与 Windows 系统相同的拱门),但有逻辑。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 2012-03-07
    相关资源
    最近更新 更多