(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::set — 设置SNMP对象的值
说明
public SNMP::set(array|string $objectId, array|string $type, array|string $value): bool
参数 ¶
如果objectId是字符串,则type和value也必须是字符串。如果objectId是数组值必须是包含相应值的相等大小的数组,则type可以是字符串(它的值将用于所有objectId值对)或具有每个oid值的相等大小的数组。当使用任何其他参数组合时,可能会显示一些带有详细描述的E_WARNING消息。
objectId
SNMP对象id
当object_id数组中的oid计数大于max_oid时,对象属性集方法将不得不使用多个查询来执行请求的值更新。在这种情况下,类型和值检查是按块进行的,因此第二次或后续请求可能会由于请求OID的错误类型或值而失败。为了标记这一点,当object_id数组中的oid计数大于max_oid时将引发警告。
类型
MIB: MIB: MIB必须是下面列出的单个字符之一。
| = | 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 |
<?php
$session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
$session->set('SNMPv2-MIB::sysContact.0', 's', "Nobody");
?>
<?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"));
?>
<?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');
?>