snmp2_set
(PHP >= 5.2.0, PHP 7, PHP 8)
snmp2_set — Set the value of an SNMP object
Descrição
string
$hostname
,string
$community
,array|string
$object_id
,array|string
$type
,array|string
$value
,int
$timeout
= -1,int
$retries
= -1): bool
snmp2_set() 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
-
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
-
The new value.
timeout
-
The number of microseconds until the first timeout.
retries
-
The number of times to retry if timeouts occur.
Valor Retornado
Retorna true
em caso de sucesso ou false
em caso de falha.
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".
Exemplos
Example #1 Using snmp2_set()
<?php
snmp2_set("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>
Example #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');
?>