snmp2_set

(PHP >= 5.2.0)

snmp2_setSet the value of an SNMP object

Opis

snmp2_set ( string $host , string $community , string $object_id , string $type , string $value [, int $timeout = 1000000 [, int $retries = 5 ]] ) : bool

snmp2_set() is used to set the value of an SNMP object specified by the object_id.

Parametry

host

The hostname of the SNMP agent (server).

community

The write community.

object_id

The SNMP object id.

type

MIB definiuje typ każdego id obiektu. Musi być podany jako pojedynczy znak z poniższej listy

types
=Typ pobrany z MIB
iINTEGER
uINTEGER
sSTRING
xHEX STRING
dDECIMAL STRING
nNULLOBJ
oOBJID
tTIMETICKS
aIPADDRESS
bBITS

Jeśli przy kompilacji biblioteki SNMP zdefiniowana została stała OPAQUE_SPECIAL_TYPES, dostępne są także poniższe wartości:

types
Uunsigned int64
Isigned int64
Ffloat
Ddouble

Większość z nich będzie w sposób oczywisty odpowiadać typowi ASN.1 's', 'x', 'd' i 'b' są różnymi sposobami na określenie wartości OCTET STRING, a typ 'u' - bez określania znaku - stosowany jest także dla obsługi wartości Gauge32.

Jeśli pliki MIB są ładowane do drzewa MIB poprzez "snmp_read_mib" lub przez podanie ich w konfiguracji libsnmp, '=' może być stosowane jako wartość parametru type dla wszystkich id obiektów, jako że typ może być automatycznie odczytany z MIB.

Istnieją dwa sposoby aby ustawić wartość zmiennej typu BITS, przykładowo "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Stosując typ "b" i listę wartości bitowych. Ta metoda nie jest zalecana ponieważ zapytanie GET dla dla tego samego OID zwróciłoby np. 0xF8.
  • Stosując typ "x" i wartość szesnastkową bez zwyczajowego prefiksu "0x".

Zobacz też sekcję z przykładami.

value

The new value.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Zwracane wartości

Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Przykłady

Przykład #1 Using snmp2_set()

<?php
  snmp2_set
("localhost""public""IF-MIB::ifAlias.3""s""foo");
?>

Przykład #2 Using snmp2_set() for setting BITS SNMP object id

<?php
  snmp2_set
("localhost""public"'FOO-MIB::bar.42''b''0 1 2 3 4');
// or
  
snmp2_set("localhost""public"'FOO-MIB::bar.42''x''F0');
?>

Zobacz też:

add a note add a note

User Contributed Notes 1 note

up
1
jhuebel at gmail dot com
9 years ago
The "type" parameter must be one of the following, depending on the type of variable to set on the SNMP host:

i    INTEGER
u    unsigned INTEGER
t    TIMETICKS
a    IPADDRESS
o    OBJID
s    STRING
x    HEX STRING
d    DECIMAL STRING

If OPAQUE_SPECIAL_TYPES was defined while compiling the SNMP library, the following are also valid:

U    unsigned int64
I    signed int64
F    float
D    double
To Top