snmp_read_mib

(PHP 5, PHP 7)

snmp_read_mib Reads and parses a MIB file into the active MIB tree

说明

bool snmp_read_mib ( string $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_rsnmprealwalk('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
)

User Contributed Notes

jdhall75 at yahoo dot com 05-Mar-2008 02:50
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
ptitgal at hotmail dot com 28-Feb-2006 11:37
Importing massive Mibs located in a directory
<?php
/******************** Loading Mibs **************/
 
$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);

?>