Firebird php无法找到主机

时间:2016-03-08 07:47:16

标签: php firebird

我尝试将ibase_connect运行到firebird数据库。

数据库不在我的本地主机上。它在网络Windows服务器上运行。

我也有Windows并且连接到共享文件夹:

Z:\Folder_WITH_DB.

我安装了XAMPP

  • ibase extension
  • pdo firebird extension

我将 fbclient.dll 复制到我的 XAMPP / php 文件夹中。

但如果我运行此代码:

$db = 'Z:/Folder_WITH_DB/database.fdb';
$username='SYSDBA';
$password='masterkey';

$dbh = ibase_connect ( $db, $username, $password ) or die ("error in db connect");

发出此错误

 Warning: ibase_connect(): Unable to complete network request to host "Z". Failed to locate host machine. in xxx/index.php on line xx

firebird.log

INET/INET_connect: gethostbyname (Z) failed, error code = 11004

我将gds_db 3050/tcp添加到我的localhost和服务器上的服务文件中(已重新启动),这是同样的错误。

在服务器上停用Windows防火墙。 firebird服务器和firebird guardian的服务正在运行。

1 个答案:

答案 0 :(得分:2)

Firebird只能使用数据库服务器本地的数据库文件。您无法连接到网络共享上的Firebird数据库*。您需要改为连接到Firebird服务器。

因此,如果数据库为' Z:/Folder_WITH_DB/database.fdb'在文件夹D:\ data \ database.fdb中的服务器firebirdsrv上,然后您需要连接到firebirdsrv/3050:D:\data\database.fdb。我强烈建议删除网络共享。

*:从技术上讲,可以使用共享,但默认情况下禁用它,因为通过网络共享从多个服务器访问数据库可能会损坏数据库。