(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 )