php snmpset,SNMP::set()

SNMP::set()

(PHP 5 >= 5.4.0, PHP 7)

Set the value of an SNMP object

说明publicSNMP::set(mixed$object_id, mixed$type, mixed$value):bool

Requests remote SNMP agent setting the value of one or more SNMP objects specified by the$object_id.

参数If$object_idis string, both$typeand$valuemust be string too. If$object_idis array$valuemust be equal-sized array containing corresponding values,$typemay be either string(it's value will be used for all$object_id-$valuepairs)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类型

iINTEGER

uINTEGER

sSTRING

xHEX STRING

dDECIMAL STRING

nNULLOBJ

oOBJID

tTIMETICKS

aIPADDRESS

bBITS

如果在编译SNMP库时定义了OPAQUE_SPECIAL_TYPES,那么下列值是合法的:typesUunsigned 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"类型以及一个十六进制数但是不需要通常的"0x"前缀。

更多细节见范例部分。$valueThe new value.

返回值

成功时返回TRUE,或者在失败时返回FALSE。

错误/异常

本方法默认不抛出任何异常。如果要在某些库出错时抛出 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');

?>

参见SNMP::get() Fetch an SNMP object

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值