(PHP >= 5.2.0, PHP 7, PHP 8)
snmp2_set — Define o valor de um objeto SNMP
$hostname,$community,$object_id,$type,$value,$timeout = -1,$retries = -1
snmp2_set() é usado para definir o valor de um objeto SNMP
especificado pelo object_id.
hostnamecommunityobject_idtype| = | 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 |
OPAQUE_SPECIAL_TYPES foi definida ao compilar a biblioteca SNMP, os seguintes tipos também são válidos:
| U | unsigned int64 |
| I | signed int64 |
| F | float |
| D | double |
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)}":
valuetimeoutretries
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".
| 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. |
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');
?>