snmp2_set

(PHP >= 5.2.0)

snmp2_setSet the value of an SNMP object

˵��

snmp2_set ( string $host , string $community , string $object_id , string $type , string $value [, int $timeout = 1000000 [, int $retries = 5 ]] ) : bool

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 �����˸������� id �����͡������������г��ĵ����ַ�֮һ��

����
=MIB����
iINTEGER
uINTEGER
sSTRING
xHEX STRING
dDECIMAL STRING
nNULLOBJ
oOBJID
tTIMETICKS
aIPADDRESS
bBITS

����ڱ��� SNMP ��ʱ������ OPAQUE_SPECIAL_TYPES����ô����ֵ�ǺϷ��ģ�

types
Uunsigned int64
Isigned int64
Ffloat
Ddouble

��Щֵ�󶼻�ʹ���� 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)}":

  • ʹ�� "b" �����Լ�һ��λ�����б����Ƽ�ʹ�ô˷�������Ϊ GET ��ѯ��ͬһ�� OID ���᷵������ 0xF8��
  • ʹ�� "x" �����Լ�һ��ʮ�����������Dz���Ҫͨ���� "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".

����

Example #1 Using snmp2_set()

<?php
  snmp2_set
("localhost""public""IF-MIB::ifAlias.3""s""foo");
?>

Example #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');
?>

�μ�