PHPverse 2025

snmp2_set

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

snmp2_setDefine o valor de um objeto SNMP

Descrição

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
iINTEGER
uINTEGER
sSTRING
xHEX STRING
dDECIMAL STRING
nNULLOBJ
oOBJID
tTIMETICKS
aIPADDRESS
bBITS

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

Tipos
Uunsigned int64
Isigned int64
Ffloat
Ddouble

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

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

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
0
jhuebel at gmail dot com
14 years ago
The "type" parameter must be one of the following, depending on the type of variable to set on the SNMP host:

i INTEGER
u unsigned INTEGER
t TIMETICKS
a IPADDRESS
o OBJID
s STRING
x HEX STRING
d DECIMAL STRING

If OPAQUE_SPECIAL_TYPES was defined while compiling the SNMP library, the following are also valid:

U unsigned int64
I signed int64
F float
D double
To Top