PHP Conference Japan 2024

SNMP::getnext

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::getnext获取下一个 SNMP 对象

描述

public SNMP::getnext(数组|字符串 $objectId): 混合

获取指定 objectId 之后的 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
)

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top