Firebird php 找不到主机
Firebird php Failed to locate host machine
我尝试 运行 一个 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
添加到我的本地主机和服务器上的服务文件(已重新启动两者),它是同样的错误。
Windows 服务器上的防火墙已停用。 firebird 服务器和 firebird 守护者的服务是 运行ning。
Firebird 只能使用数据库服务器本地的数据库文件。您无法连接到网络共享上的 Firebird 数据库*。您需要改为连接到 Firebird 服务器。
因此,如果 'Z:/Folder_WITH_DB/database.fdb' 的数据库位于文件夹 D:\data\database.fdb 中的服务器 firebirdsrv 上,那么您需要连接到 firebirdsrv/3050:D:\data\database.fdb
。我强烈建议删除网络共享。
*: 技术上可以使用共享,但默认情况下它是禁用的,因为通过网络共享从多个服务器访问数据库可能会损坏数据库。
我尝试 运行 一个 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
添加到我的本地主机和服务器上的服务文件(已重新启动两者),它是同样的错误。
Windows 服务器上的防火墙已停用。 firebird 服务器和 firebird 守护者的服务是 运行ning。
Firebird 只能使用数据库服务器本地的数据库文件。您无法连接到网络共享上的 Firebird 数据库*。您需要改为连接到 Firebird 服务器。
因此,如果 'Z:/Folder_WITH_DB/database.fdb' 的数据库位于文件夹 D:\data\database.fdb 中的服务器 firebirdsrv 上,那么您需要连接到 firebirdsrv/3050:D:\data\database.fdb
。我强烈建议删除网络共享。
*: 技术上可以使用共享,但默认情况下它是禁用的,因为通过网络共享从多个服务器访问数据库可能会损坏数据库。