©
本文档使用
php中文网手册 发布
(PHP 4, PHP 5)
snmp3_set — Set the value of an SNMP object
$host
, string $sec_name
, string $sec_level
, string $auth_protocol
, string $auth_passphrase
, string $priv_protocol
, string $priv_passphrase
, string $object_id
, string $type
, string $value
[, int $timeout = 1000000
[, int $retries = 5
]] ) 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.
host The hostname of the SNMP agent (server).
sec_name the security name, usually some kind of username
sec_level the security level (noAuthNoPriv|authNoPriv|authPriv)
auth_protocol the authentication protocol (MD5 or SHA)
auth_passphrase the authentication pass phrase
priv_protocol the privacy protocol (DES or AES)
priv_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 ,那么下列值是合法的:
| 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)}":
更多细节见范例部分。
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 snmp3_set()
<?php
snmp3_set ( 'localhost' , 'james' , 'authPriv' , 'SHA' , 'secret007' , 'AES' , 'secret007' , 'IF-MIB::ifAlias.3' , 's' , "foo" );
?> Example #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' );
?>