(PHP 5 >= 5.4.0, PHP 7)
SNMP::set — Set the value of an SNMP object
   Requests remote SNMP agent setting the value of
   one or more SNMP objects specified by the object_id.
  
    If object_id is string, both
    type and value must be
    string too. If object_id is array
    value must be equal-sized array containing
    corresponding values, type may be either
    string (it's value will be used for all
    object_id-value pairs) or
    equal-sized array with per-OID value. When any other parameters' combinations are
    used, a number of E_WARNING messages may be shown with detailed description.
   
object_idThe SNMP object id
When count of OIDs in object_id array is greater than max_oids object property set method will have to use multiple queries to perform requested value updates. In this case type and value checks are made per-chunk so second or subsequent requests may fail due to wrong type or value for OID requested. To mark this a warning is raised when count of OIDs in object_id array is greater than max_oids.
typeMIB указывает тип идентификатора каждого объекта. Он должен быть указан в виде одного символа из следующего списка.
| = | Тип, принимаемый 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.
Если 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)}":
Подробнее смотрите в разделе с примерами.
valueThe new value.
   Возвращает TRUE в случае успешного завершения  или FALSE в случае возникновения ошибки.
  
 Данный метод по умолчанию не генерирует исключения.
 Чтобы включить генерацию исключения SNMPException при возникновении
 некоторых ошибок данной библиотеки, необходимо установить параметр
 exceptions_enabled класса SNMP в
 соответствующее значение. Подробнее смотрите в 
 объяснении параметра SNMP::$exceptions_enabled.
Пример #1 Set single SNMP object id
<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set('SNMPv2-MIB::sysContact.0', 's', "Nobody");
?>
Пример #2 Set multiple values using single SNMP::set() call
<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), array('s', 's'), array("Nobody", "Nowhere"));
// or
  $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), 's', array("Nobody", "Nowhere"));
?>
Пример #3 Using SNMP::set() for setting BITS SNMP object id
<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set('FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  $session->set('FOO-MIB::bar.42', 'x', 'F0');
?>