(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::getnext — 获取在给定对象 ID 后面的 SNMP 对象
如果 objectId
是字符串,则 SNMP::getnext() 将返回 SNMP 对象作为字符串。如果 objectId
是数组,则所有请求的 SNMP 对象将作为 SNMP 对象 ID 及其值的关联数组返回。
objectId
SNMP 对象 (OID) 或对象
根据 objectId
类型返回请求的 SNMP 对象作为字符串或数组,或者在错误时返回 false
。
默认情况下,此方法不会抛出任何异常。要启用在某些库错误发生时抛出 SNMPException 异常,应将 SNMP 类的参数 exceptions_enabled
设置为相应的值。有关更多详细信息,请参阅 SNMP::$exceptions_enabled
说明。
示例 #1 单个 SNMP 对象
单个 SNMP 对象可以通过两种方式请求:作为字符串,返回字符串返回值,或作为包含关联数组的单元素数组,作为输出。
<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$nsysdescr = $session->getnext("sysDescr.0");
echo "$nsysdescr\n";
$nsysdescr = $session->getnext(array("sysDescr.0"));
print_r($nsysdescr);
?>
以上示例将输出类似于以下内容
OID: NET-SNMP-MIB::netSnmpAgentOIDs.8 Array ( [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8 )
示例 #2 多个 SNMP 对象
<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$results = $session->getnext(array("sysDescr.0", "sysName.0"));
print_r($results);
$session->close();
?>
以上示例将输出类似于以下内容
Array ( [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8 [SNMPv2-MIB::sysLocation.0] => STRING: Nowhere )