查询

snmprealwalk()函数—用法及示例

「 使用SNMP协议在指定的主机上执行一个真实的SNMP GET-NEXT操作,从给定的OID(对象标识符)开始遍历并返回所有的变量 」


函数名:snmprealwalk()

适用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7

函数描述:snmprealwalk() 函数使用SNMP协议在指定的主机上执行一个真实的SNMP GET-NEXT操作,从给定的OID(对象标识符)开始遍历并返回所有的变量。

语法:array snmprealwalk(string $hostname, string $community, string $object_id [, int $timeout = 1000000 [, int $retries = 5]])

参数:

  • $hostname:要查询的主机名或IP地址。
  • $community:SNMP代理的共同体名称,用于身份验证。
  • $object_id:要查询的对象标识符(OID)。
  • $timeout(可选):超时时间,单位为微秒,默认为1000000(1秒)。
  • $retries(可选):重试次数,默认为5次。

返回值:成功时返回一个包含所有变量的关联数组,失败时返回false。

示例:

<?php
$hostname = 'localhost';
$community = 'public';
$object_id = 'IF-MIB::ifDescr';

$result = snmprealwalk($hostname, $community, $object_id);

if ($result === false) {
    echo "SNMP query failed.";
} else {
    foreach ($result as $oid => $value) {
        echo "OID: $oid, Value: $value\n";
    }
}
?>

以上示例会连接到本地主机,使用公共共同体"public",并以"IF-MIB::ifDescr"作为起始OID,遍历并返回所有变量。如果查询成功,将会打印出每个OID和对应的值。

注意:在使用此函数之前,确保已经安装并启用了SNMP扩展。

补充纠错
上一个函数: snmpset()函数
下一个函数: snmpgetnext()函数
热门PHP函数
分享链接