函数名称:radius_put_vendor_string()
函数描述:radius_put_vendor_string() 函数用于向 RADIUS 请求添加一个供应商特定的字符串属性。
适用版本:该函数适用于 PHP 4 >= 4.0.5, PHP 5, PHP 7
语法:radius_put_vendor_string(resource $radius_handle, int $vendor, int $type, string $value)
参数:
- $radius_handle:必需,RADIUS 连接句柄,通过 radius_auth_open() 或 radius_acct_open() 函数获取。
- $vendor:必需,整数,供应商 ID。
- $type:必需,整数,属性类型。
- $value:必需,字符串,要添加的属性值。
返回值:成功时返回 TRUE,失败时返回 FALSE。
示例:
// 创建 RADIUS 连接句柄
$radius_handle = radius_auth_open();
// 设置 RADIUS 服务器地址和共享密钥
radius_add_server($radius_handle, "radius.example.com", 0, "shared_secret", 5, 3);
// 进行 RADIUS 认证
if (radius_create_request($radius_handle, RADIUS_ACCESS_REQUEST)) {
// 添加供应商特定的字符串属性
if (radius_put_vendor_string($radius_handle, 12345, 1, "example value")) {
echo "供应商特定的字符串属性添加成功!";
} else {
echo "供应商特定的字符串属性添加失败!";
}
// 发送 RADIUS 请求并获取响应
$result = radius_send_request($radius_handle);
if ($result == RADIUS_ACCESS_ACCEPT) {
echo "认证成功!";
} else {
echo "认证失败!";
}
} else {
echo "无法创建 RADIUS 请求!";
}
// 关闭 RADIUS 连接
radius_close($radius_handle);
注意事项:
- 在使用该函数之前,必须通过 radius_auth_open() 或 radius_acct_open() 函数创建 RADIUS 连接句柄。
- $vendor 参数是供应商 ID,可以是任意整数。
- $type 参数是属性类型,可以是任意整数。
- $value 参数是要添加的属性值,必须是字符串类型。
- 该函数只能在 RADIUS 认证请求中使用,不能在 RADIUS 计费请求中使用。
- 在调用 radius_send_request() 函数之前,必须先调用 radius_create_request() 函数来创建 RADIUS 请求。
- 通过 radius_send_request() 函数发送 RADIUS 请求,并使用 radius_receive_packet() 函数获取 RADIUS 响应。
- 可以使用 radius_strerror() 函数来获取错误信息。