©
本文档使用
php.cn手册 发布
(PHP 5)
snmp_read_mib — Reads and parses a MIB file into the active MIB tree
$filename
)This function is used to load additional, e.g. vendor specific, MIBs so that human readable OIDs like VENDOR-MIB::foo.1 instead of error prone numeric OIDs can be used.
The order in which the MIBs are loaded does matter as the underlying Net-SNMP libary will print warnings if referenced objects cannot be resolved.
filename
The filename of the MIB.
Example #1 Using snmp_read_mib()
<?php
print_r ( snmprealwalk ( 'localhost' , 'public' , '.1.3.6.1.2.1.2.3.4.5' ) );
snmp_read_mib ( './FOO-BAR-MIB.txt' );
print_r ( snmprealwalk ( 'localhost' , 'public' , 'FOO-BAR-MIB::someTable' );
?>
The above example is made up but the results would look like:
Array ( [iso.3.6.1.2.1.2.3.4.5.0] => Gauge32: 6 ) Array ( [FOO-BAR-MIB::someTable.0] => Gauge32: 6 )
[#1] jdhall75 at yahoo dot com [2008-03-04 17:50:42]
If you are trying to import mibs with dependencies on other mibs you will have to set the MIBDIRS environment variable.
Unix / Linux: export MIBDIRS=/home/<user>/MIBS:/usr/share/snmp/mibs
Window: Good luck! No really. Try this url out. It has everything that you need to know about setting environment vars in windows.
http://vlaurie.com/computers2/Articles/environment.htm
[#2] ptitgal at hotmail dot com [2006-02-28 02:37:34]
Importing massive Mibs located in a directory
<?php
$mib_path='YourPath';
if ($handle = opendir($mib_path))
{ echo "Directory handle: $handle <br>";
echo "Files: <br>";
while (false !== ($file = readdir($handle)))
{ if($file!='.')
{ if($file!='..')
{ echo "Read : ";
echo "$mib_path.$file";
if(snmp_read_mib($mib_path.'\\'.$file)) echo " Succesful <br>";
else echo " Failed <br>";
}
}
}
}
closedir($handle);
?>