函数名称:radius_get_attr()
适用版本:PHP 4 >= 4.3.0, PECL radius >= 1.1.0
函数描述:该函数用于获取RADIUS协议中请求或响应中的属性。
用法: radius_get_attr(resource $radius_handle): array|false
参数:
- $radius_handle: RADIUS连接的资源句柄,由radius_auth_open()或radius_acct_open()函数返回。
返回值:
- 如果成功获取到属性,则返回一个关联数组,其中包含属性的名称和值。
- 如果没有获取到属性或发生错误,则返回false。
示例: <?php // 创建RADIUS连接 $radius_handle = radius_auth_open();
// 连接到RADIUS服务器 radius_add_server($radius_handle, "radius.example.com", 1812, "shared_secret", 5, 3);
// 发起RADIUS认证请求 if (radius_authenticate($radius_handle, "username", "password")) { // 获取认证响应中的属性 $attributes = radius_get_attr($radius_handle); if ($attributes !== false) { // 打印属性名称和值 foreach ($attributes as $name => $value) { echo "属性名称:{$name}\n"; echo "属性值:{$value}\n"; } } else { echo "未获取到属性。\n"; } } else { echo "认证失败。\n"; }
// 关闭RADIUS连接 radius_close($radius_handle); ?> 以上示例代码演示了如何使用radius_get_attr()函数从RADIUS响应中获取属性。首先,我们创建一个RADIUS连接并添加RADIUS服务器。然后,使用radius_authenticate()函数发起认证请求。如果认证成功,我们调用radius_get_attr()函数获取响应中的属性,并通过foreach循环遍历并打印属性名称和值。最后,我们关闭RADIUS连接。
请注意,示例代码中的参数值(如服务器地址、共享密钥、用户名和密码)需要根据实际情况进行替换。