函式名:snmprealwalk()
適用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7
函式描述:snmprealwalk() 函式使用SNMP協議在指定的主機上執行一個真實的SNMP GET-NEXT操作,從給定的OID(物件識別符號)開始遍歷並返回所有的變數。
語法:array snmprealwalk(string $hostname, string $community, string $object_id [, int $timeout = 1000000 [, int $retries = 5]])
引數:
- $hostname:要查詢的主機名或IP地址。
- $community:SNMP代理的共同體名稱,用於身份驗證。
- $object_id:要查詢的物件識別符號(OID)。
- $timeout(可選):超時時間,單位為微秒,預設為1000000(1秒)。
- $retries(可選):重試次數,預設為5次。
返回值:成功時返回一個包含所有變數的關聯陣列,失敗時返回false。
示例:
<?php
$hostname = 'localhost';
$community = 'public';
$object_id = 'IF-MIB::ifDescr';
$result = snmprealwalk($hostname, $community, $object_id);
if ($result === false) {
echo "SNMP query failed.";
} else {
foreach ($result as $oid => $value) {
echo "OID: $oid, Value: $value\n";
}
}
?>
以上示例會連線到本地主機,使用公共共同體"public",並以"IF-MIB::ifDescr"作為起始OID,遍歷並返回所有變數。如果查詢成功,將會列印出每個OID和對應的值。
注意:在使用此函式之前,確保已經安裝並啟用了SNMP擴充套件。