snmp2_set
(PHP >= 5.2.0)
snmp2_set — Set the value of an SNMP object
Описание
$host
, string $community
, string $object_id
, string $type
, string $value
[, string $timeout
= 1000000
[, string $retries
= 5
]] )
snmp2_set() is used to set the value of an SNMP object
specified by the object_id
.
Список параметров
-
host
-
The hostname of the SNMP agent (server).
-
community
-
The write community.
-
object_id
-
The SNMP object id.
-
type
-
MIB указывает тип идентификатора каждого объекта. Он должен быть указан в виде одного символа из следующего списка.
types = Тип, принимаемый 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
, то также могут быть использованы следующие типы:types U unsigned int64 I signed int64 F float D double Большинство этих значений используют очевидный тип ASN.1. 's', 'x', 'd' и 'b' - это все разные способы указания значения OCTET STRING, а беззнаковый тип 'u' также используется для обработки значений Gauge32.
Если MIB-файлы были загружены в MIB-дерево с помощью "snmp_read_mib" или были указаны в конфигурационном файле libsnmp, то для указания параметра
type
можно использовать нотацию '=', т.к. тип всех идентификаторов объектов будет автоматически считан из MIB.Обратите внимание, что есть два способа установить переменную типа BITS, например, "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":
- С помощью типа "b" и списка битовых чисел. Не рекомендуется использовать этот метод, т.к. GET-запрос для того же OID вернет, к примеру, 0xF8.
- С помощью типа "x" и шестнадцатеричного числа, но без(!) обычного префикса "0x".
Подробнее смотрите в разделе с примерами.
-
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 snmp2_set()
<?php
snmp2_set("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>
Пример #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');
?>
- snmp_get_quick_print
- snmp_get_valueretrieval
- snmp_read_mib
- snmp_set_enum_print
- snmp_set_oid_numeric_print
- snmp_set_oid_output_format
- snmp_set_quick_print
- snmp_set_valueretrieval
- snmp2_get
- snmp2_getnext
- snmp2_real_walk
- snmp2_set
- snmp2_walk
- snmp3_get
- snmp3_getnext
- snmp3_real_walk
- snmp3_set
- snmp3_walk
- snmpget
- snmpgetnext
- snmprealwalk
- snmpset
- snmpwalk
- snmpwalkoid
Коментарии
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