snmp_set_oid_output_format
(PHP 5 >= 5.2.0)
snmp_set_oid_output_format — Set the OID output format
Description
bool snmp_set_oid_output_format
( int
$oid_format
= SNMP_OID_OUTPUT_MODULE
)snmp_set_oid_output_format() sets the output format to be full or numeric.
Parameters
-
oid_format
-
OID .1.3.6.1.2.1.1.3.0 representation for various oid_format
valuesSNMP_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 Begining from PHP 5.4.0 four additional constants available:
SNMP_OID_OUTPUT_MODULE
DISMAN-EVENT-MIB::sysUpTimeInstance SNMP_OID_OUTPUT_SUFFIX
sysUpTimeInstance SNMP_OID_OUTPUT_UCD
system.sysUpTime.sysUpTimeInstance SNMP_OID_OUTPUT_NONE
Undefined
Return Values
No value is returned.
Notes
Note:
snmp_set_oid_output_format() is only available when using the UCD SNMP library. This function is not available when using the Windows SNMP library.
Examples
Example #1 Using snmprealwalk()
<?php
snmp_read_mib("/usr/share/mibs/netsnmp/NET-SNMP-TC");
// default or SNMP_OID_OUTPUT_MODULE in PHP >= 5.3.6
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 )
- snmp_get_quick_print
- snmp_get_valueretrieval
- snmp_read_mib
- snmp_set_enum_print
- snmp_set_oid_numeric_print
- snmp_set_oid_output_format
- snmp_set_quick_print
- snmp_set_valueretrieval
- snmp2_get
- snmp2_getnext
- snmp2_real_walk
- snmp2_set
- snmp2_walk
- snmp3_get
- snmp3_getnext
- snmp3_real_walk
- snmp3_set
- snmp3_walk
- snmpget
- snmpgetnext
- snmprealwalk
- snmpset
- snmpwalk
- snmpwalkoid
Коментарии
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"
/******************** 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