snmpset
(PHP 4, PHP 5, PHP 7, PHP 8)
snmpset — Устанавливает значение объекта SNMP
Описание
snmpset() используется для установки значения объекта SNMP,
указанного в параметре object_id.
Список параметров
hostname
-
Имя хоста агента (сервера) SNMP.
community
-
Write-сообщество.
object_id
-
Идентификатор объекта SNMP.
type
-
База управляющей информации MIB определяет для каждого объекта тип идентификатора.
Тип указывается одним символом из следующего списка.
Типы
| = | Функция возьмёт тип из базы 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 | unsigned int64 |
| I | signed int64 |
| F | float |
| D | double |
Бо́льшая часть этих значений использует очевидный тип, который соответствует типу стандарта ASN.1.
's', 'x', 'd' и 'b' — это
все разные способы указания значения OCTET STRING, а
беззнаковый тип 'u' также указывают для обработки
значений Gauge32.
Разрешается указывать тип '=' как значение параметра type
для каждого идентификатора объекта, если MIB-файлы загружаются в MIB-дерево функцией snmp_read_mib
или путём указания в конфигурационном файле библиотеки libsnmp, поскольку тогда функция
автоматически считает тип из базы 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
-
Новое значение.
timeout
-
Время ожидания в микросекундах.
retries
-
Количество повторных попыток при истечении времени ожидания.
Возвращаемые значения
Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.
Если хост SNMP отклоняет тип данных, выводится ошибка уровня E_WARNING вроде "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length.".
Если указан неизвестный или недопустимый OID, вероятно, выведется предупреждение "Could not add variable".
Примеры
Пример #1 Пример использования snmpset()
<?php
snmpset("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>
Пример #2 Пример использования snmpset() для установки BITS идентификатору объекта SNMP
<?php
snmpset("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
snmpset("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>