PHP Conference Japan 2024

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_NONE未定義

回傳值

永遠回傳 true

更新日誌

版本 說明
8.2.0 現在的返回類型是 true;先前是 布林值

範例

範例 #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 則註解

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>";
}
}
}
}
//僅載入一個目錄
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