(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 �����˸������� 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 | unsigned int64 |
| I | signed int64 |
| F | float |
| D | double |
��Щֵ��ʹ���� ASN.1 ��������͡�'s'��'x'��'d' �Լ� 'b' ����ָ��һ�����ֽ��ַ���ֵ�ķ�ʽ������ 'u' ��������Ҳ�����ڴ��� Gauge32 ֵ��
��� MIB �ļ����� "snmp_read_mib" ����ͨ���� libsnmp config ��ָ���������� MIB ��ʱ��
'=' ���Ա�����Ϊ���ж���� type ��������Ϊ type ���Ա��Զ��� MIB �ж�ȡ��
ע�������ַ�ʽ�����趨 BITS ���͵ı��������� "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":
����ϸ�ڼ��������֡�
valueThe new value.
�ɹ�ʱ���� TRUE�� ������ʧ��ʱ���� FALSE��
������Ĭ�ϲ��׳��κ��쳣�����Ҫ��ijЩ�����ʱ�׳� SNMPException
�쳣���û���Ҫ�� SNMP ����� exceptions_enabled
�趨Ϊ��Ӧ��ֵ������ϸ�ڼ�
SNMP::$exceptions_enabled �Ľ�����
Example #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");
?>
Example #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"));
?>
Example #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');
?>