array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.snmp3-set.php', 1 => 'snmp3_set', 2 => 'Set the value of an SNMP object', ), 'up' => array ( 0 => 'ref.snmp.php', 1 => 'SNMP 函数', ), 'prev' => array ( 0 => 'function.snmp3-real-walk.php', 1 => 'snmp3_real_walk', ), 'next' => array ( 0 => 'function.snmp3-walk.php', 1 => 'snmp3_walk', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/snmp/functions/snmp3-set.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
snmp3_set — Set the value of an SNMP object
$hostname,$security_name,$security_level,$auth_protocol,$auth_passphrase,$privacy_protocol,$privacy_passphrase,$object_id,$type,$value,$timeout = -1,$retries = -1
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.
hostnamesecurity_namesecurity_levelauth_protocolauth_passphraseprivacy_protocolprivacy_passphraseobject_idtype| = | MIB类型 |
| i | INTEGER |
| u | INTEGER |
| s | STRING |
| x | HEX STRING |
| d | DECIMAL STRING |
| n | NULLOBJ |
| o | OBJID |
| t | TIMETICKS |
| a | IPADDRESS |
| b | BITS |
OPAQUE_SPECIAL_TYPES,那么下列值是合法的:
| U | unsigned int64 |
| I | signed int64 |
| F | float |
| D | double |
type 参数,因为 type 可以被自动从 MIB 中读取。
注意有两种方式可以设定 BITS 类型的变量,例如
"SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":
valuetimeoutretriesIf 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".
| 版本 | 说明 |
|---|---|
| 8.5.0 | Now throws a ValueError when the hostname length is equal to or greater than 128 bytes, when the port is negative or greater than 65535, or when the timeout or retries values are lower than -1 or too large. |
示例 #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');
?>