函數(shù)名:snmp2_walk()
適用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7
函數(shù)描述:snmp2_walk() 函數(shù)用于獲取遠程設(shè)備的SNMP信息,并以數(shù)組的形式返回結(jié)果。
語法:array snmp2_walk ( string $hostname , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )
參數(shù):
- hostname:要查詢的遠程設(shè)備的主機名或IP地址。
- community:SNMP community(共同體)字符串,用于驗證訪問權(quán)限。
- object_id:要查詢的SNMP對象標識符(OID)。
- timeout(可選):超時時間,以微秒為單位,默認為1秒。
- retries(可選):重試次數(shù),默認為5次。
返回值:成功時,返回一個包含SNMP信息的關(guān)聯(lián)數(shù)組;失敗時,返回false。
示例:
$hostname = '192.168.1.1';
$community = 'public';
$object_id = '1.3.6.1.2.1.1.1'; // 示例OID,可以根據(jù)需求修改
$result = snmp2_walk($hostname, $community, $object_id);
if ($result === false) {
echo "獲取SNMP信息失敗!";
} else {
foreach ($result as $key => $value) {
echo "OID: $key, Value: $value\n";
}
}
以上示例中,我們使用snmp2_walk()函數(shù)獲取了遠程設(shè)備的SNMP信息。首先,我們指定了要查詢的設(shè)備的主機名、SNMP community字符串和對象標識符(OID)。然后,通過調(diào)用snmp2_walk()函數(shù),將獲取到的結(jié)果賦值給$result變量。最后,我們使用foreach循環(huán)遍歷$result數(shù)組,打印出每個OID和對應的值。
請注意,為了使snmp2_walk()函數(shù)正常工作,你需要在PHP配置文件(php.ini)中啟用SNMP擴展,具體方法請參考PHP官方文檔。