查詢

SNMP::walk()函式—用法及示例

「 返回指定的 SNMP 物件的所有子樹 」


函式名稱:SNMP::walk()

適用版本:PHP 4 >= 4.3.3, PHP 5, PHP 7

函式描述:SNMP::walk() 函式用於返回指定的 SNMP 物件的所有子樹。

用法:

SNMP::walk ( mixed $object_id [, mixed $suffix_as_key = FALSE [, mixed $max_repetitions = 0 [, mixed $non_repeaters = 0 ]]] ) : array|false

引數:

  • $object_id: 必需,指定要訪問的 SNMP 物件的識別符號。可以是一個字串或一個數字,例如:".1.3.6.1.2.1.1"。
  • $suffix_as_key: 可選,如果設定為 TRUE,則返回的陣列將使用 OID 的字尾作為鍵名。預設為 FALSE。
  • $max_repetitions: 可選,指定在一個 GETBULK 請求中返回的最大重複次數。預設為 0,表示使用 GETNEXT 請求。
  • $non_repeaters: 可選,指定在 GETBULK 請求中不重複的 OID 數量。預設為 0。

返回值:

  • 成功時返回一個關聯陣列,其中包含指定 SNMP 物件的所有子樹。陣列的鍵是 OID,值是對應的資料。
  • 失敗時返回 FALSE。

示例:

$session = new SNMP(SNMP::VERSION_2c, 'localhost', 'public');
if ($session->walk('.1.3.6.1.2.1.1') === FALSE) {
    echo "無法獲取 SNMP 物件的子樹。";
} else {
    $result = $session->walk('.1.3.6.1.2.1.1');
    foreach ($result as $oid => $value) {
        echo "OID: " . $oid . ",值: " . $value . "<br>";
    }
}

以上示例建立了一個 SNMP 會話,使用 SNMP::walk() 函式獲取指定 SNMP 物件的所有子樹。如果成功,則遍歷返回的結果陣列,並輸出每個 OID 和對應的值。如果失敗,則顯示錯誤訊息。

請注意,示例中的 'localhost' 和 'public' 是 SNMP 代理的主機名和共同體字串,你需要根據你的實際情況進行替換。另外,你還可以根據需要修改要訪問的 SNMP 物件的識別符號。

補充糾錯
下一個函式: socket_connect()函式
熱門PHP函式
分享連結