函数名称:radius_add_server()
适用版本:PHP 4, PHP 5, PHP 7
函数描述:radius_add_server() 函数用于向 RADIUS 配置中添加一个新的服务器。
语法:bool radius_add_server(resource $radius_handle, string $hostname, int $port, string $secret, int $timeout, int $max_tries)
参数:
- $radius_handle:RADIUS 连接句柄,使用 radius_auth_open() 或 radius_acct_open() 函数返回的句柄。
- $hostname:RADIUS 服务器的主机名或 IP 地址。
- $port:RADIUS 服务器的端口号。
- $secret:共享的秘密字符串,用于与 RADIUS 服务器进行身份验证。
- $timeout:连接超时的秒数。
- $max_tries:最大尝试连接次数。
返回值:成功时返回 TRUE,失败时返回 FALSE。
示例:
// 创建 RADIUS 连接句柄
$radius_handle = radius_auth_open();
// 添加 RADIUS 服务器
$hostname = "radius.example.com";
$port = 1812;
$secret = "shared_secret";
$timeout = 5;
$max_tries = 3;
if (radius_add_server($radius_handle, $hostname, $port, $secret, $timeout, $max_tries)) {
echo "RADIUS 服务器添加成功!";
} else {
echo "RADIUS 服务器添加失败!";
}
// 关闭 RADIUS 连接句柄
radius_close($radius_handle);
注意事项:
- 在使用 radius_add_server() 函数前,需要先使用 radius_auth_open() 或 radius_acct_open() 函数创建 RADIUS 连接句柄。
- 添加的 RADIUS 服务器会按照添加的顺序进行连接尝试,直到连接成功或达到最大尝试次数。
- 如果 RADIUS 服务器已经添加,再次调用 radius_add_server() 函数会返回 FALSE。
- 可以使用 radius_server_secret() 函数设置每个服务器的共享秘密字符串。
- 添加的 RADIUS 服务器会在调用 radius_close() 函数关闭连接句柄时自动移除。
- 可以使用 radius_server_count() 函数获取已添加的 RADIUS 服务器数量。
- 可以使用 radius_server_list() 函数获取已添加的 RADIUS 服务器列表。
- RADIUS 扩展模块(radius.so)在 PHP 7.2 版本之后已被移除,需要安装 PECL 扩展 "radius" 才能使用相关函数。