之前的评论不正确。您可以以任何有效用户身份连接到服务管理器,连接到服务管理器与连接到安全数据库不同。但是,一些服务函数(您随后可以使用 ibase_service_attach 返回的服务句柄调用)仅对 SYSDBA 可用。
(PHP 5, PHP 7 < 7.4.0)
ibase_service_attach — 连接到服务管理器
host
数据库主机的名称或 IP 地址。您可以通过添加 '/' 和端口号来定义端口。如果未指定端口,将使用端口 3050。
dba_username
任何有效用户的名称。
dba_password
用户的密码。
成功时返回一个 Interbase / Firebird 链接标识符,失败时返回 false
。
范例 #1 ibase_service_attach() 示例
<?php
// 通过 IP 地址连接到远程 Firebird 服务器
if (($service = ibase_service_attach('10.1.1.199', 'sysdba', 'masterkey')) != FALSE) {
// 连接成功。
// 获取服务器版本(例如 'LI-V3.0.4.33054 Firebird 3.0')
$server_version = ibase_server_info($service, IBASE_SVC_SERVER_VERSION);
// 获取服务器实现(例如 'Firebird/Linux/AMD/Intel/x64')
$server_implementation = ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);
// 从服务器断开连接(断开连接)
ibase_service_detach($service);
// 输出信息
echo "服务器版本:" . $server_version . "<br/>";
echo "服务器实现:" . $server_implementation;
}
else {
// 输出错误消息
$conn_error = ibase_errmsg();
die($conn_error);
}
?>
范例 #2 ibase_service_attach() 使用 hostname/port
语法的示例
<?php
// 通过名称连接到远程 Firebird 服务器。使用端口 3050。
if (($service = ibase_service_attach('FB-SRV-01.contoso.local/3050', 'sysdba', 'masterkey')) != FALSE) {
// 连接成功。
// 获取服务器版本(例如 'LI-V3.0.4.33054 Firebird 3.0')
$server_version = ibase_server_info($service, IBASE_SVC_SERVER_VERSION);
// 获取服务器实现(例如 'Firebird/Linux/AMD/Intel/x64')
$server_implementation = ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);
// 从服务器断开连接(断开连接)
ibase_service_detach($service);
// 输出信息
echo "服务器版本:" . $server_version . "<br/>";
echo "服务器实现:" . $server_implementation;
}
else {
// 输出错误消息
$conn_error = ibase_errmsg();
die($conn_error);
}
?>
之前的评论不正确。您可以以任何有效用户身份连接到服务管理器,连接到服务管理器与连接到安全数据库不同。但是,一些服务函数(您随后可以使用 ibase_service_attach 返回的服务句柄调用)仅对 SYSDBA 可用。
使用此函数时,似乎您只能使用 SYSDBA 作为用户,因为您正在连接到安全数据库。这是 interbase/firebird 服务器的限制。
ibase_service_attach 的示例
<?php
// 连接到运行在本地主机的服务器
if (($service = ibase_service_attach('localhost', 'sysdba', 'masterkey')) != FALSE) {
// 获取服务器信息
$server_info = ibase_server_info($service, IBASE_SVC_SERVER_VERSION)
. ' / '
. ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);
// 从服务器断开连接(断开连接)
ibase_service_detach($service);
}
else {
$ib_error = ibase_errmsg();
}
echo $server_info;
?>
应该回显类似
WI-T2.0.0.12484 Firebird 2.0 Release Candidate 1 / Firebird/x86/Windows NT
取自 ibWebAdmin 源代码