CascadiaPHP 2024

snmp_read_mib

(PHP 5, PHP 7, PHP 8)

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

Descrição

snmp_read_mib(string $filename): bool

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 library will print warnings if referenced objects cannot be resolved.

Parâmetros

filename

The filename of the MIB.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #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
)

add a note

User Contributed Notes 2 notes

up
1
jdhall75 at yahoo dot com
16 years ago
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
up
-10
ptitgal at hotmail dot com
18 years ago
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);

?>
To Top