CakeFest 2024: The Official CakePHP Conference

snmp_read_mib

(PHP 5, PHP 7, PHP 8)

snmp_read_mib アクティブな MIB ツリーの中に MIB ファイルを読み込んでパースする

説明

snmp_read_mib(string $filename): bool

この関数は、ベンダー固有などの追加の MIB を読み込んで、 VENDOR-MIB::foo.1 のような可読形式の OID を取得します。

MIB を読み込む順序は重要で、参照先のオブジェクトが解決できなければ Net-SNMP ライブラリが警告を表示します。

パラメータ

filename

MIB のファイル名。

戻り値

成功した場合に true を、失敗した場合に false を返します。

例1 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') );
?>

上の例の結果は次のようになります。

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