Define o valor de um objeto SNMP

# snmp2_set

(PHP >= 5.2.0, PHP 7, PHP 8)

snmp2_set — Define o valor de um objeto SNMP

### Descrição

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

snmp2_set() é usado para definir o valor de um objeto SNMP especificado pelo `object_id`.

### Parâmetros

`hostname`
  O nome do host do agente SNMP (servidor).
`community`
  A comunidade de escrita.
`object_id`
  O ID do objeto SNMP.
`type`
  O MIB define o tipo de cada ID de objeto. Deve ser especificado como um único caractere da lista abaixo.

  Tipos
  = | O tipo é retirado do MIB
  i | INTEGER
  u | INTEGER
  s | STRING
  x | HEX STRING
  d | DECIMAL STRING
  n | NULLOBJ
  o | OBJID
  t | TIMETICKS
  a | IPADDRESS
  b | BITS

  Se `OPAQUE_SPECIAL_TYPES` foi definida ao compilar a biblioteca SNMP, os seguintes tipos também são válidos:

  Tipos
  U | unsigned int64
  I | signed int64
  F | float
  D | double

  A maioria destes tipos usará o tipo ASN.1 correspondente óbvio. 's', 'x', 'd' e 'b' são todas maneiras diferentes de especificar um valor OCTET STRING e o tipo sem sinal 'u' também é usado para lidar com valores Gauge32. Se os arquivos MIB forem carregados na árvore MIB com "snmp_read_mib" ou ao especificar isso na configuração da libsnmp, '=' pode ser usado como o parâmetro `type` para todos os IDs de objeto, pois o tipo pode ser lido automaticamente a partir do MIB. Note que existem duas maneiras de definir uma variável do tipo BITS como, por exemplo, "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":
  - Usando o tipo "b" e uma lista de números binários. Este método não é recomendado, pois a consulta GET para o mesmo OID retornaria, por exemplo, 0xF8.
  - Usando o tipo "x" e um número hexadecimal, mas sem (!) o prefixo "0x" comum.
  Consulte a seção de exemplos para obter mais detalhes.
`value`
  O novo valor.
`timeout`
  O número de microssegundos até o primeiro tempo limite.
`retries`
  O número de tentativas caso ocorram tempos limite.

### Valor Retornado

Retorna `true` em caso de sucesso ou `false` em caso de falha.

Se o host SNMP rejeitar o tipo de dado, uma mensagem E_WARNING como "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." será exibida. Se um OID desconhecido ou inválido for especificado, o aviso provavelmente será "Could not add variable".

### Registro de Alterações

Versão | Descrição
--- | ---
8.5.0 | Agora lança um ValueError quando o comprimento do nome do host for igual ou maior que 128 bytes, quando a porta for negativa ou maior que 65535, ou quando os valores de tempo limite ou tentativas forem menores que -1 ou muito grandes.

### Exemplos

Exemplo #1 Usando snmp2_set()

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

Exemplo #2 Usando snmp2_set() para definir um id de objeto SNMP BITS

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

### Veja Também

- snmp2_get() - Busca um objeto SNMP

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open