(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::get — Fetch an SNMP object
$objectId
, bool $preserveKeys
= false
) : array|bool
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
的解释。
Example #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 )
Example #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 )