snmp_set_valueretrieval

(PHP 4 >= 4.3.3, PHP 5, PHP 7, PHP 8)

snmp_set_valueretrieval SNMP の値が返される方法を設定する

説明

snmp_set_valueretrieval(int $method): true

パラメータ

method
SNMP_VALUE_LIBRARY Net-SNMP ライブラリの返す形式のままで返します。
SNMP_VALUE_PLAIN SNMP の型情報を含まないプレーンな値を返します。
SNMP_VALUE_OBJECT プロパティ value および type をもつオブジェクトを返します。 typeSNMP_OCTET_STRSNMP_COUNTER などの定数のいずれかとなります。 value を返す方法は、定数 SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN のどちらが設定されているかによって決まります。

戻り値

常に true を返します。

変更履歴

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

例1 snmp_set_valueretrieval() の使用法

<?php
snmp_set_valueretrieval
(SNMP_VALUE_LIBRARY);
$ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
// $ret = "STRING: lo"

snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
$ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
// $ret = "lo";

snmp_set_valueretrieval(SNMP_VALUE_OBJECT);
$ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
// stdClass Object
// (
// [type] => 4 <-- SNMP_OCTET_STR, see constants
// [value] => lo
// )

snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_PLAIN);
$ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
// stdClass Object
// (
// [type] => 4 <-- SNMP_OCTET_STR, see constants
// [value] => lo
// )

snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_LIBRARY);
$ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
// stdClass Object
// (
// [type] => 4 <-- SNMP_OCTET_STR, see constants
// [value] => STRING: lo
// )

?>

参考

add a note

User Contributed Notes 3 notes

up
1
Mikhail D
18 years ago
Sample is swow Interface status.(.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifAdminStatus)Possible values for this request from MIB: Enum(integer): up (1), down (2), testing (3)<?php//snmp_set_quick_print(0);  // is default$strIP = "10.1.1.1"; $strComm = "public"; $strOID =  ".1.3.6.1.2.1.2.2.1.7.1";echo "\n Default valueretrieval with snmp_set_quick_print(0)";echo " snmp_get_valueretrieval = SNMP_VALUE_LIBRARY";echo ", retrieved value " .  snmpget($strIP, $strComm, $strOID);  snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);    echo "\n SNMP_VALUE_LIBRARY " . snmp_get_valueretrieval();echo ", retrieved value " .   snmpget($strIP, $strComm, $strOID);  snmp_set_valueretrieval(SNMP_VALUE_PLAIN);    echo "\n SNMP_VALUE_PLAIN " . snmp_get_valueretrieval();echo ", retrieved value " .  snmpget($strIP, $strComm, $strOID);  snmp_set_quick_print(1);echo "\n Default valueretrieval snmp_set_quick_print(0) " ;snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);    echo "\n SNMP_VALUE_LIBRARY " . snmp_get_valueretrieval();echo ", retrieved value " .   snmpget($strIP, $strComm, $strOID);  snmp_set_valueretrieval(SNMP_VALUE_PLAIN);    echo "\n SNMP_VALUE_PLAIN " . snmp_get_valueretrieval();echo ", retrieved value " .  snmpget($strIP, $strComm, $strOID);  ?>Results: Default valueretrieval with snmp_set_quick_print(0)     snmp_get_valueretrieval = SNMP_VALUE_LIBRARY, retrieved value up(1) SNMP_VALUE_LIBRARY 0, retrieved value up(1) SNMP_VALUE_PLAIN 1, retrieved value 1 Default valueretrieval snmp_set_quick_print(0)  SNMP_VALUE_LIBRARY 0, retrieved value up SNMP_VALUE_PLAIN 1, retrieved value 1
up
-1
doug dot manley at gmail dot com
16 years ago
The default value (if this function is not called) is "SNMP_VALUE_LIBRARY", which seems to be SNMP's built-in way of printing things.From "snmp.c":<code>static PHP_GINIT_FUNCTION(snmp){    snmp_globals->valueretrieval = SNMP_VALUE_LIBRARY;}</code>A mild description of these is:SNMP_VALUE_LIBRARY: This is a string similar to:"INTEGER: 42"SNMP_VALUE_PLAIN: This is a string similar to:"42"SNMP_VALUE_OBJECT: This is a PHP object like:object("type" => SNMP_INTEGER,"value" => 42,)Here, "type" is one of the SNMP_* types that are listed under the "Predefined Constants" page.  In addition, types 128, 129, and 130 are error conditions.
up
-1
david at eder dot us
21 years ago
It appears that the possible method constants for this function are:SNMP_VALUE_LIBRARYSNMP_VALUE_PLAINSNMP_VALUE_OBJECTIf you are harvesting data you probably want SNMP_VALUE_PLAIN.
To Top