2024 年 PHP 日本研討會

SNMP::get

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

SNMP::get擷取 SNMP 物件

說明

public SNMP::get(陣列|字串 $objectId, 布林值 $preserveKeys = false): 混合

使用 GET 查詢擷取 objectId 中指定的 SNMP 物件。

參數

如果 objectId 是字串,則 SNMP::get() 將會以字串形式返回 SNMP 物件。如果 objectId 是陣列,則所有請求的 SNMP 物件將會以 SNMP 物件 ID 及其值的關聯陣列形式返回。

objectId

SNMP 物件 (OID) 或多個物件

preserveKeys

objectId 是陣列且 preserveKeys 設定為 true 時,結果中的鍵值將會與 objectId 中的完全相同,否則將使用 SNMP::oid_output_format 屬性來決定鍵值的格式。

回傳值

根據 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");
$sysdescr = $session->get("sysDescr.0");
echo
"$sysdescr\n";
$sysdescr = $session->get(array("sysDescr.0"));
print_r($sysdescr);
?>

上述範例的輸出結果類似如下:

STRING: Test server
Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
)

範例 #2 多個 SNMP 物件

$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$results = $session->get(array("sysDescr.0", "sysName.0"));
print_r($results);
$session->close();

上述範例的輸出結果類似如下:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysName.0] => STRING: myhost.nodomain
)

另請參閱

新增筆記

使用者貢獻的筆記

此頁面尚無使用者貢獻的筆記。
To Top