我正在寫一個php腳本,它允許我使用snmp在設備上獲取和設置某些值。我有設備的MIB,並可以輕鬆地將它加載到PHP中。問題是我無法使用'人類可讀'oid字符串而不是數字字符串(數字oid工作正常)來獲取我正在查找的值。php snmp MIB和walk
我的代碼:
$host = "localhost";
$community = "public";
$mibFile = "C:\wamp\www\extra\AvenueMIBv105.mib";
$oid = '.1.3.6.1.4.1.19021.1.1.0.0.1';
snmp_read_mib($mibFile);
print_r(snmprealwalk($host, $community, $oid));
與$oid = '.1.3.6.1.4.1.19021.1.1.0.0.1'
,我得到這樣的輸出:
陣列([AvenueMIBv105 :: private.1.19021.1.1.0.0.1.1.0] => INTEGER: 1 [AvenueMIBv105 :: private.1.19021.1.1.0.0.1.2.0] => INTEGER:1
與$ OID = 'AvenueMIBv105 :: private.slotSelect' 我得到這樣的輸出:
陣列([AvenueMIBv105 :: internet.2.1.1.3.0] => INTEGER:129663870 [AvenueMIBv105 :: internet.2.1.1.4.0] =>六角STRING:75 73 65 72 4E 61 6D 65 00
我希望兩個輸出都一樣。我意識到我必須有'人類可讀的'oid錯誤,但我已經嘗試了大量不同的字符串,並且我總是得到相同的錯誤輸出。我應該怎麼做?另外我知道它有時會有所作爲,php腳本運行在WAMP服務器上。
這裏是我的MIB樹: