函数名:snmp2_get()
适用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7
用法:snmp2_get(string $hostname, string $community, mixed $object_id [, int $timeout = -1 [, int $retries = -1]])
说明:snmp2_get() 函数用于从指定的 SNMP 主机获取一个或多个 OID 的值。
参数:
- $hostname:要查询的 SNMP 主机的 IP 地址或主机名。
- $community:SNMP 主机的社区字符串。
- $object_id:要获取的 OID (对象标识符)。
- $timeout(可选):超时时间,以毫秒为单位。如果未指定,默认为 1000000 微秒(1 秒)。
- $retries(可选):重试次数。如果未指定,默认为 5 次。
返回值:返回获取到的 OID 值,如果出错则返回 FALSE。
示例:
// 设置 SNMP 主机信息
$hostname = '127.0.0.1';
$community = 'public';
// 要获取的 OID
$object_id = 'SNMPv2-MIB::sysDescr.0';
// 发起 SNMP 请求
$result = snmp2_get($hostname, $community, $object_id);
// 检查是否成功获取到值
if ($result === false) {
echo "获取 OID 值失败。\n";
} else {
echo "获取到的 OID 值为:$result\n";
}
注意:在使用 snmp2_get() 函数之前,确保已经启用了 SNMP 扩展。可以通过在 PHP 配置文件中启用 extension=snmp
或者使用 dl('snmp.so')
动态加载扩展。