【问题标题】:Connect PHP 7.4 to Firebird database: could not find driver将 PHP 7.4 连接到 Firebird 数据库:找不到驱动程序
【发布时间】:2020-10-03 12:41:44
【问题描述】:

我正在关注docs 将php 连接到firebird 数据库。我在 php.ini 中激活了扩展

;extension=openssl
extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop

我在 xampp 上重新启动了 apache,并复制粘贴了文档的代码进行测试。当我运行代码时 我得到could not find driver

我在这里错过了什么?

环境:

  • XAMPP 与 PHP 7.4
  • Windows 10

【问题讨论】:

  • 你的系统上真的有 pdo_firebird.dll 吗?您是否在系统上安装了正确位数的 Firebird 客户端库 (fbclient.dll)(即如果 PHP 是 64 位,则需要 64 位 fbclient.dll,如果是 32 位,则需要 32-位 fbclient.dll?
  • 更正,php_pdo_firebird.dll。如果你去localhost/dashboard/phpinfo.php,“PDO_Firebird”下面写的是什么?另外,您要执行什么代码?
  • 作为参考,我安装了 XAMPP,取消注释 php.ini 中的 extension=pdo_firebird 行,创建了 this example 的修改版本(我的修改更改了数据库、表和引用的列)和它工作。但是,我的系统上确实有一个 64 位 fbclient.dll。

标签: php pdo firebird


【解决方案1】:

问题是您的安装缺少 Firebird 本地客户端库 fbclient.dll。假设您已经安装了 64 位 XAMPP(我认为这是唯一可用的选项),您需要下载 Windows 64-bit Firebird installer,并至少使用它来安装 Firebird 客户端库。

如果您确实想连接到同一系统上的 Firebird 服务器(假设您没有安装 32 位 Firebird 服务器),您可以安装完整的服务器(也将安装客户端)。

安装 fbclient.dll 后,需要通过 XAMPP 控制面板停止和启动 Apache。

您可以验证驱动程序是否正确加载 - 假设您在 htdocs 中仍然有默认页面 - 通过转到 http://localhost/dashboard/phpinfo.php,它将在“PDO_Firebird”下列出驱动程序,以及fbclient.dll 的版本,如果驱动加载成功的话。

【讨论】:

  • 我在我的系统上安装了 firebird 2.5 并运行,但它是 32 位的...感谢你现在我尝试安装 64 位的 3.0 版(如我的 php),它给了我正确的dll文件。当我询问团队时,他们告诉我回到 2.5 32bits 版本,所以我卸载了 3.0,并重新安装了 2.5 32bits 版本。但我想我保留了 3.0 版本的 dll 文件,因为在 php info 中它显示WI-V6.3.6.33328 Firebird 3.0。与 firebird 的 PHP 连接现在正在工作。但我想知道这是否会在以后产生任何问题?
  • 我应该回到 32 位 PHP 吗?有没有办法保留我的 64 位 PHP 并将其连接到 2.5 32 位 Firebird?我现在真的很困惑。
  • @wassimchaguetmi 您可以很好地使用 32 位 Firebird,但您必须安装 64 位客户端库(来自 Firebird 2.5 或来自 Firebird 3)才能从64 位 PHP。既然您现在已经安装了 64 位 Firebird 3 客户端库,那么您就可以开始了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-08
  • 2016-02-13
  • 2015-02-23
  • 1970-01-01
  • 1970-01-01
  • 2017-07-27
  • 1970-01-01
相关资源
最近更新 更多