PHP Conference Japan 2024

SNMP::getnext

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

SNMP::getnext擷取指定物件 ID 之後的 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