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
OID .1.3.6.1.2.1.1.3.0 表示各种 format
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_NONE未定义

返回值

始终返回 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
 )

添加注释

用户贡献的注释 2 个注释

0
niarnrmd at yandex dot ru
2 年前
/******************** 加载 Mibs **************/
$mib_path='/usr/share/snmp/mibs/ietf/';
if ($handle = opendir($mib_path))
{ echo "目录句柄: $handle <br>";
echo "文件: <br>";
while (false !== ($file = readdir($handle)))
{ if($file!='.')
{ if($file!='..')
{ echo "读取 : ";
echo "$mib_path"."$file";
if(snmp_read_mib($mib_path.$file)) echo " 成功 <br>";
else echo " 失败 <br>";
}
}
}
}
// 仅加载一个目录
0
ww at 9rivers dot com
13 年前
似乎除了 SNMP_OID_OUTPUT_FULL 和 SNMP_OID_OUTPUT_NUMERIC 之外,还有其他选项。

例如,当我遍历 BRIDGE-MIB::dot1dTpFdbPort 而不设置输出格式并使用 var_dump 打印结果时,我得到如下输出

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

当我将其设置为 NUMERIC 时,我得到了预期结果

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

当我将其设置为 FULL 时,我得到了更多结果(手动换行)

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