snmp3_set
(PHP 4, PHP 5, PHP 7, PHP 8)
snmp3_set — Set the value of an SNMP object
说明
string
$hostname,string
$security_name,string
$security_level,string
$auth_protocol,string
$auth_passphrase,string
$privacy_protocol,string
$privacy_passphrase,array|string
$object_id,array|string
$type,array|string
$value,int
$timeout = -1,int
$retries = -1): bool
   snmp3_set() is used to set the value of an SNMP object
   specified by the object_id.
  
Even if the security level does not use an auth or priv protocol/password valid values have to be specified.
参数
hostname- 
     
The hostname of the SNMP agent (server).
 security_name- 
     
the security name, usually some kind of username
 security_level- 
     
the security level (noAuthNoPriv|authNoPriv|authPriv)
 auth_protocol- 
     
the authentication protocol (MD5 or SHA)
 auth_passphrase- 
     
the authentication pass phrase
 privacy_protocol- 
     
the privacy protocol (DES or AES)
 privacy_passphrase- 
     
the privacy pass phrase
 object_id- 
     
The SNMP object id.
 type- 
     
MIB 定义了各个对象 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,那么下列值是合法的: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)}":
- 使用 "b" 类型以及一个位数的列表。不推荐使用此方法,因为 GET 查询对同一个 OID 将会返回例如 0xF8。
 - 使用 "x" 类型以及一个十六进制数但是不需要通常的 "0x" 前缀。
 
更多细节见示例部分。
 value- 
     
The new value
 timeout- 
     
The number of microseconds until the first timeout.
 retries- 
     
The number of times to retry if timeouts occur.
 
返回值
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".
示例
示例 #1 Using snmp3_set()
<?php
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifAlias.3', 's', "foo");
?>示例 #2 Using snmp3_set() for setting BITS SNMP object id
<?php
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'x', 'F0');
?>