PHP 8.3.4 Released!

snmp_set_oid_output_format

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

snmp_set_oid_output_format Set the OID output format

说明

snmp_set_oid_output_format(int $format): true

snmp_set_oid_output_format() sets the output format to be full or numeric.

参数

format
OID .1.3.6.1.2.1.1.3.0 representation for various format values
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 Using snmprealwalk()

<?php

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

// default or 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') );
?>

The above would output:

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
1 year 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