# snmpset

(PHP 4, PHP 5, PHP 7, PHP 8)

snmpset — Set the value of an SNMP object

### Descripción

snmpset(
string `$hostname`,
string `$community`,
array|string `$object_id`,
array|string `$type`,
array|string `$value`,
int `$timeout` = -1,
int `$retries` = -1
): bool

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

### Parámetros

`hostname`

  The hostname of the SNMP agent (server).

`community`

  The write community.

`object_id`

  The SNMP object id.

`type`

  MIB define el tipo de cada identificador de objeto. Debe indicarse con un único carácter de la siguiente lista.

  tipos
  = | Tipo adquirido a partir de MIB
  i | INTEGER
  u | INTEGER
  s | STRING
  x | HEX STRING
  d | DECIMAL STRING
  n | NULLOBJ
  o | OBJID
  t | TIMETICKS
  a | IPADDRESS
  b | BITS

  Si se definió `OPAQUE_SPECIAL_TYPES` al compilar la biblioteca SNMP, los siguientes valores serán también válidos:

  tipos
  U | int64 sin signo
  I | int64 con signo
  F | float
  D | double

  La mayoría, utilizarán su correspondiente tipo ASN.1. 's', 'x', 'd' y 'b' son diferentes formas de especificar un valor de OCTET STRING, y el tipo sin signo 'u' se usa también para manejar valores Gauge32.

  Si se cargan los ficheros MIB en el árbol MIB con "snmp_read_mib" o con la configuración de libsnmp, se puede usar '=' como parámetro `type` para todos los id de objetos, ya que se podrá leer automáticamente el tipo a partir del MIB.

  Tenga presente que hay dos formas de asigar a una variable los tipos BITS, como por ejemplo. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  - Usando el tipo "b" y una lista numérica de bits. No se recomienda usar este método, ya que una consulta GET para un mismo OID devolvería, por ejemplo 0xF8.
  - Usando el tipo "x" y un número hexadecimal, pero si el prefijo "0x".

  Revise el apartado de ejemplos para más detalles.

`value`

  The new value.

`timeout`

  The number of microseconds until the first timeout.

`retries`

  The number of times to retry if timeouts occur.

### Valores devueltos

Devuelve `true` en caso de éxito o `false` en caso de error.

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".

### Ejemplos

Ejemplo #1 Using snmpset()

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

Ejemplo #2 Using snmpset() for setting BITS SNMP object id

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

### Ver también

- snmpget() - Fetch an SNMP object