CakeFest 2024: The Official CakePHP Conference

SNMP::get

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::getFetch an SNMP object

说明

public SNMP::get(array|string $objectId, bool $preserveKeys = false): mixed

Fetch an SNMP object specified in objectId using GET query.

参数

If objectId is a string, then SNMP::get() will return SNMP object as string. If objectId is a array, all requested SNMP objects will be returned as associative array of the SNMP object ids and their values.

objectId

The SNMP object (OID) or objects

preserveKeys

When objectId is a array and preserveKeys set to true keys in results will be taken exactly as in objectId, otherwise SNMP::oid_output_format property is used to determinate the form of keys.

返回值

Returns SNMP objects requested as string or array depending on objectId type or false on error.

错误/异常

本方法默认不抛出任何异常。如果要在某些库出错时抛出 SNMPException 异常,用户需要将 SNMP 类参数 exceptions_enabled 设定为相应的值。更多细节见 SNMP::$exceptions_enabled 的解释

示例

示例 #1 Single SNMP object

Single SNMP object may be requested in two ways: as string resulting string return value or as single-element array with associative array as output.

<?php
$session
= new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$sysdescr = $session->get("sysDescr.0");
echo
"$sysdescr\n";
$sysdescr = $session->get(array("sysDescr.0"));
print_r($sysdescr);
?>

以上示例的输出类似于:

STRING: Test server
Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
)

示例 #2 Multiple SNMP objects

$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$results = $session->get(array("sysDescr.0", "sysName.0"));
print_r($results);
$session->close();

以上示例的输出类似于:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysName.0] => STRING: myhost.nodomain
)

参见

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top