PHP启动:无法加载动态库

Nen*_*s é 7 php windows firebird windows-8

我正在尝试使用Firebird 2.5.2.26539:

  • Windows 8
  • Apache 2.2.22
  • PHP 5.4.10

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

- extension=php_interbase.dll
- extension=php_pdo_firebird.dll
Run Code Online (Sandbox Code Playgroud)

我收到这些错误:

[2012年12月26日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.

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

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

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

任何人都可以帮我这个吗?我怀疑这个版本的Firebird仍然没有为PHP做出正确的扩展.谢谢.

Jan*_*erk 6

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

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


Dan*_*den 2

Cli 和 Apache PHP 使用两个不同的配置文件运行。这将解释 CLI 模式下缺少错误消息的原因。该应用程序的扩展很可能未存储在 PHP 扩展文件夹中。我不熟悉 Windows 下的配置,因此您可能需要 google 查找 Windows PHP 扩展目录并确保您的扩展文件在那里。

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

在尝试加载扩展文件之前,请确保它们存在。

  • 问题是 FB 64 位安装中的 fbclient.dll。我刚刚从 32 位获取了 fbclient.dll,将其复制到 PHP 根目录中,解决了问题。 (8认同)