SNMP::walk
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::walk — Отримує піддерево об'єкта SNMP
Опис
public SNMP::walk( array|string $objectId, bool $suffixAsKey = false, int $maxRepetitions = -1, int $nonRepeaters = -1): array|false
SNMP::walk() використовується для читання піддерева SNMP з коренем у вказаному objectId
Список параметрів
objectId
Корінь видобутого піддерева
suffixAsKey
За промовчанням для ключів у вихідному масиві використовується повна нотація OID. Якщо встановлено значення true
, префікс піддерева буде видалено з ключів, залишиться тільки суфікс object_id.
nonRepeaters
Визначає кількість наданих змінних, які слід повторювати. За замовчуванням використовується значення об'єкта SNMP.
maxRepetitions
Визначає максимальну кількість ітерацій за змінними, що повторюються. За замовчуванням використовується значення об'єкта SNMP.
Значення, що повертаються
Повертає асоціативний масив ідентифікаторів об'єктів SNMP та їх значень у разі успішного виконання або **false
**в случае возникновения ошибки. Когда возникает ошибка SNMP,SNMP::getErrno() і SNMP::getError() можуть використовуватися для отримання номера помилки (специфічно для модуля SNMP, дивіться константи класу) та повідомлення про помилку відповідно.
Помилки
Цей метод за промовчанням не генерує виняток. Щоб увімкнути генерацію виключення SNMPException при виникненні деяких помилок цієї бібліотеки, необхідно встановити параметр exceptions_enabled
класса SNMP в соответствующее значение. Подробнее смотрите впоясненні параметра SNMP::$exceptions_enabled
Приклади
Приклад #1 Приклад використання SNMP::walk()****
Loading...
Висновок наведеного прикладу буде схожим на:
Array
(
[SNMPv2-MIB::sysDescr.0] => STRING: Test server
[SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
[DISMAN-EVENT-MIB::sysUpTimeInstance] => Timeticks: (1150681750) 133 days, 4:20:17.50
[SNMPv2-MIB::sysContact.0] => STRING: Nobody
[SNMPv2-MIB::sysName.0] => STRING: server.localdomain
...
)
Приклад #2 Приклад использованияsuffixAsKey
suffixAsKey
може використовуватися при об'єднанні декількох піддерев SNMP в одне. У цьому вся прикладі імена інтерфейсів зіставляються зі своїми типом.
Loading...
Висновок наведеного прикладу буде схожим на:
Array
(
[1] => igb0
[2] => igb1
[3] => ipfw0
[4] => lo0
[5] => lagg0
)
Array
(
[1] => INTEGER: ieee8023adLag(161)
[2] => INTEGER: ieee8023adLag(161)
[3] => INTEGER: ethernetCsmacd(6)
[4] => INTEGER: softwareLoopback(24)
[5] => INTEGER: ethernetCsmacd(6)
)
Array
(
[igb0] => INTEGER: ieee8023adLag(161)
[igb1] => INTEGER: ieee8023adLag(161)
[ipfw0] => INTEGER: ethernetCsmacd(6)
[lo0] => INTEGER: softwareLoopback(24)
[lagg0] => INTEGER: ethernetCsmacd(6)
)
Дивіться також
- SNMP::getErrno() - Отримує код останньої помилки
- SNMP::getError() - Отримує останнє повідомлення про помилку