PHP 5.4.31 Released

snmp_set_valueretrieval

(PHP 4 >= 4.3.3, PHP 5)

snmp_set_valueretrieval Spécifie la méthode avec laquelle les valeurs SNMP seront retournées

Description

bool snmp_set_valueretrieval ( int $method = SNMP_VALUE_LIBRARY )

Liste de paramètres

mehod
types
SNMP_VALUE_LIBRARY Les valeurs retournées seront celles retournées par la bibliothèque Net-SNMP.
SNMP_VALUE_PLAIN Les valeurs retournées seront brutes, sans l'ajout du type SNMP.
SNMP_VALUE_OBJECT Les valeurs retournées seront des objets avec les propriétés "value" et "type", où la seconde est une des constantes SNMP_OCTET_STR, SNMP_COUNTER etc.. La façon dont la "value" est retournée est basée suivant l'utilisation de la constante SNMP_VALUE_LIBRARY ou de la constante SNMP_VALUE_PLAIN.

Exemples

Exemple #1 Exemple avec 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, voir les constantes
 //   [value] => lo
 // )

 // Exemples avec PHP 5.4+
 
snmp_set_valueretrieval(SNMP_VALUE_OBJECT SNMP_VALUE_PLAIN);
 
$ret snmpget('localhost''public''IF-MIB::ifName.1');
 
// stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, voir les constantes
 //   [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, voir les constantes
 //   [value] => STRING: lo
 // )

?>

Historique

Version Description
5.4.0

La constante SNMP_VALUE_PLAIN ou la constante SNMP_VALUE_LIBRARY peut être combinée à la constante SNMP_VALUE_OBJECT permettant ainsi une représentation différente du contenu des éléments du tableau value dans la valeur retournée de la fonction. Si aucune des constantes SNMP_VALUE_{PLAIN,LIBRARY} n'accompagne SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY sera utilisé.

Avant la version 5.4.0, SNMP_VALUE_OBJECT signifiait effectivement SNMP_VALUE_OBJECT|SNMP_VALUE_PLAIN.

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
0
doug dot manley at gmail dot com
5 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
0
Mikhail D
6 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
0
david at eder dot us
10 years ago
It appears that the possible method constants for this function are:

SNMP_VALUE_LIBRARY
SNMP_VALUE_PLAIN
SNMP_VALUE_OBJECT

If you are harvesting data you probably want SNMP_VALUE_PLAIN.
To Top