PHP 8.4.1 Released!

snmp_set_oid_output_format

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

snmp_set_oid_output_format OID の出力形式を設定する

説明

snmp_set_oid_output_format(int $format): true

snmp_set_oid_output_format() は、 出力形式を完全か数値のいずれかに設定します。

パラメータ

format
format の値による OID .1.3.6.1.2.1.1.3.0 の表しかた
SNMP_OID_OUTPUT_FULL.iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NUMERIC.1.3.6.1.2.1.1.3.0
SNMP_OID_OUTPUT_MODULEDISMAN-EVENT-MIB::sysUpTimeInstance
SNMP_OID_OUTPUT_SUFFIXsysUpTimeInstance
SNMP_OID_OUTPUT_UCDsystem.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NONEUndefined

戻り値

常に true を返します。

変更履歴

バージョン 説明
8.2.0 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。

例1 snmprealwalk() の使用法

<?php

snmp_read_mib
("/usr/share/mibs/netsnmp/NET-SNMP-TC");

// デフォルト、あるいは SNMP_OID_OUTPUT_MODULE
print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC);
print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

snmp_set_oid_output_format(SNMP_OID_OUTPUT_FULL);
print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );
?>

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

Array
 (
    [RFC1213-MIB::sysObjectID.0] => OID: NET-SNMP-TC::linux
 )
 Array
 (
    [.1.3.6.1.2.1.1.2.0] => OID: .1.3.6.1.4.1.8072.3.2.10
 )
 Array
 (
    [.iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0] => OID: .iso.org.dod.internet.private.enterprises.netSnmp.netSnmpEnumerations.netSnmpAgentOIDs.linux
 )

add a note

User Contributed Notes 2 notes

up
0
niarnrmd at yandex dot ru
2 years ago
/******************** Loading Mibs **************/
$mib_path='/usr/share/snmp/mibs/ietf/';
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>";
}
}
}
}
//load only one dir
up
0
ww at 9rivers dot com
13 years ago
There seems to be more than SNMP_OID_OUTPUT_FULL and SNMP_OID_OUTPUT_NUMERIC.

For example, when I walk on BRIDGE-MIB::dot1dTpFdbPort without setting the output format and var_dump the result, I get output like:

["BRIDGE-MIB::dot1dTpFdbPort.'..F8.7'"]=>
string(2) "52"

When I set it to NUMERIC, I get what I expected:

[".1.3.6.1.2.1.17.4.3.1.2.244.206.70.56.24.55"]=>
string(2) "52"

When I set it to FULL, I get even more (line-wrapped manually):

[".iso.org.dod.internet.mgmt.mib-2 .dot1dBridge.dot1dTp .dot1dTpFdbTable .dot1dTpFdbEntry .dot1dTpFdbPort. '..F8.7'"]=>
string(2) "52"
To Top