7

我正在尝试将 Firebird 2.5.2.26539 用于:

  • 视窗 8
  • 阿帕奇 2.2.22
  • PHP 5.4.10

当我在 php 中启用 firebird 的扩展时:

- extension=php_interbase.dll
- extension=php_pdo_firebird.dll

我收到这些错误:

[26-Dec-2012 12:08:11 UTC] PHP 警告:PHP 启动:无法加载动态库 'C:\Program Files (x86)\PHP\ext\php_interbase.dll' - 无法找到指定的模块。在第 0 行的未知中

[26-Dec-2012 12:08:13 UTC] PHP 警告:PHP 启动:无法加载动态库 'C:\Program Files (x86)\PHP\ext\php_pdo_firebird.dll' - 无法找到指定的模块。在第 0 行的未知中

如果我在命令行中创建 PHP -a,则错误消息不同:找不到 fbclient.dll。

我运行了flarerobin,它打开了数据库。所以我将 fbclient.dll 复制到 PHP 根路径。然后错误变为:

[26-Dec-2012 11:55:46 UTC] PHP 警告:PHP 启动:无法加载动态库 'C:\Program Files (x86)\PHP\ext\php_interbase.dll' - %1 不是有效的 Win32应用。在第 0 行的未知中

[26-Dec-2012 11:55:46 UTC] PHP 警告:PHP 启动:无法加载动态库 'C:\Program Files (x86)\PHP\ext\php_pdo_firebird.dll' - %1 不是有效的 Win32应用。在第 0 行的未知中

谁能帮我解决这个问题?我怀疑这个版本的 Firebird 仍然没有为 PHP 做正确的扩展。谢谢你。

4

3 回答 3

6

我重复上面 Nenhum Pois é 的评论(有些人可能会错过),因为它是问题的真正解决方案:

问题是来自 FB 64 位安装的 fbclient.dll。我刚刚从 32bits 得到 fbclient.dll,将其复制到 PHP 根目录中,它解决了问题

于 2013-11-07T20:54:08.993 回答
2

Cli 和 Apache PHP 使用两个不同的配置文件运行。这将解释 CLI 模式下缺少的错误消息。可能是此应用程序的扩展未存储在 PHP 扩展文件夹中。我不熟悉windows下的配置,所以你可能需要谷歌搜索windows PHP扩展目录并确保你的扩展文件在那里。

根据您的错误判断,路径是“C:\Program files(x86)\PHP\ext\

在尝试加载它们之前,请确保您的扩展文件在那里。

于 2012-12-26T15:20:40.897 回答
0

如果您在 Windows 上运行,请检查您的扩展是否使用与 PHP 解释器相同的 Visual Studio 编译器版本进行编译。

从 PHP 下载页面https://windows.php.net/download

  • PHP 7.3 = VC15
  • PHP 7.1 = VC14
  • PHP 5.6 = VC11

而示例的 MongoDB 扩展是使用 VC11 编译的,请参阅https://pecl.php.net/package/mongo/1.6.16/windows并检查 DLL 列表文件名-vc11-

于 2019-02-20T09:03:53.867 回答