array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'uk', ), 'this' => array ( 0 => 'function.snmpset.php', 1 => 'snmpset', 2 => 'Set the value of an SNMP object', ), 'up' => array ( 0 => 'ref.snmp.php', 1 => 'SNMP Функції', ), 'prev' => array ( 0 => 'function.snmprealwalk.php', 1 => 'snmprealwalk', ), 'next' => array ( 0 => 'function.snmpwalk.php', 1 => 'snmpwalk', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/snmp/functions/snmpset.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
snmpset — Set the value of an SNMP object
$hostname
,$community
,$object_id
,$type
,$value
,$timeout
= -1,$retries
= -1
snmpset() is used to set the value of an SNMP object
specified by the object_id
.
hostname
The hostname of the SNMP agent (server).
community
The write community.
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 snmpset()
<?php
snmpset("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>
Приклад #2 Using snmpset() for setting BITS SNMP object id
<?php
snmpset("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
snmpset("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>