【问题标题】:Connect to .FDB database using PHP使用 PHP 连接到 .FDB 数据库
【发布时间】:2014-06-23 19:38:13
【问题描述】:

这是我的配置:

  • Windows 7 64 位
  • WAMP Server 2.2 64 bits with PHP 5.4.3(从官方网站下载)。
  • Firebird 1.5.6 来管理数据库(我需要这个版本,因为新版本不打开我的数据库)。本程序只有 32 位版本(从官网下载)。

Here 是连接到 FDB 数据库的代码。但是当我尝试代码时,我收到错误:“致命错误:调用未定义的函数 ibase_connect() in...”

我试试:

  • 激活 php_interbase.dll 扩展(WAMP->PHP->PHP Extensions->php_interbase.dll)。
  • 将 Windows 中的环境变量添加到 PHP.ini 文件夹。
  • 将 Windows 中的环境变量添加到 Firebird 文件夹。
  • 使用 Firebird 2.5 64 位。
  • 编辑 php.ini 文件,删除分号到 ;extension=php_interbase.dll 行。
  • 按照this 的步骤操作。

一切都有效。我犯了同样的错误。在我尝试每个提示之后,显然我会重新启动 WAMP。

注意:当我执行(在 PHP 页面中)extension_loaded("interbase") 时,我总是会出错。加载扩展程序和未加载扩展程序的时间。我认为这是问题所在,但我该如何解决呢?

谢谢!

【问题讨论】:

  • 如果您希望更新版本的 Firebird 来打开您的数据库,那么您需要在 Firebird 1.5.6 中进行备份并使用新的 Firebird 版本进行恢复。虽然从技术上讲,Firebird 应该能够打开旧版本的数据库(尽管旧版本可能存在 32 位 64 位的问题),但备份和恢复将确保数据库升级到新的磁盘结构。跨度>

标签: php wamp firebird


【解决方案1】:

查看了 Firebird 的 SourceForge 下载,我可以看到唯一的 1.5.6 版本下载是 32 位编译。

这不会在 64 位 WampServer 上运行,因为这意味着 Apache/PHP + 扩展/MySQL 都是使用 64 位编译器编译的。

如果您必须运行该版本的 firebird,那么您需要下载 32 位 WAMPServer,因为 32 位 Firebird 无法与 64 位 Firebird PHP 扩展接口。

运行 64 位 WAMPServer 并没有真正的好处,即 Apache/PHP/MySQL 它真的只为极客提供。事实上,64 位 PHP 在 PHP 网站上仍被描述为 Experimental,因为它还没有完全移植到 64 位。

【讨论】:

  • 技术上它应该可以工作,只要在库路径上安装了 64 位客户端库,并且通过 TCP/IP 建立连接(而不是直接/本机连接)。跨度>
猜你喜欢
  • 2015-01-24
  • 2015-07-31
  • 2014-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多