(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
.
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.
= | 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:
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)}":
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.
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".
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');
?>