(PHP 4, PHP 5, PHP 7, PHP 8)
snmp3_set — Set the value of an SNMP object
$hostname
,$security_name
,$security_level
,$auth_protocol
,$auth_passphrase
,$privacy_protocol
,$privacy_passphrase
,$object_id
,$type
,$value
,$timeout
= -1,$retries
= -1
snmp3_set() is used to set the value of an SNMP object
specified by the object_id
.
Even if the security level does not use an auth or priv protocol/password valid values have to be specified.
hostname
The hostname of the SNMP agent (server).
security_name
the security name, usually some kind of username
security_level
the security level (noAuthNoPriv|authNoPriv|authPriv)
auth_protocol
the authentication protocol (MD5 or SHA)
auth_passphrase
the authentication pass phrase
privacy_protocol
the privacy protocol (DES or AES)
privacy_passphrase
the privacy pass phrase
object_id
The SNMP object id.
type
MIB дає означення типу для ID об'єкта. Тип можна вказувати одним з символів:
= | Тип, взятий з MIB |
i | INTEGER |
u | INTEGER |
s | STRING |
x | HEX STRING |
d | DECIMAL STRING |
n | NULLOBJ |
o | OBJID |
t | TIMETICKS |
a | IPADDRESS |
b | BITS |
Якщо під час компіляції бібліотеки SNMP задано
OPAQUE_SPECIAL_TYPES
, будуть доступні наступні типи:
U | беззнаковий int64 |
I | знаковий int64 |
F | десятковий дріб (float) |
D | десятковий дріб подвійної точності (double) |
Більшість з них мають зрозумілий ASN.1-тип. "s", "x", "d" та "b" вказують на один тип — OCTET STRING, а беззнаковий тип "u" використовується для обробки значень Gauge32.
Якщо MIB-файли підключені до дерева MIB, бо вказані в налаштуваннях libsnmp або
за допомогою "snmp_read_mib", то потрібно задавати параметр
type
зі значенням "=" для усіх ID об'єктів,
оскільки тип можна автоматично зчитувати з MIB.
Варто зазначити, що є два способи задати значення змінній, яка має тип BITS, як от "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":
Докладніше це описано у параграфі з прикладами.
value
The new value
timeout
The number of microseconds until the first timeout.
retries
The number of times to retry if timeouts occur.
Повертає true
у разі успіху або false
в разі помилки.
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".
Приклад #1 Using snmp3_set()
<?php
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifAlias.3', 's', "foo");
?>
Приклад #2 Using snmp3_set() for setting BITS SNMP object id
<?php
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'x', 'F0');
?>