(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::__construct — Создаёт экземпляр класса SNMP, который представляет сеанс удалённому SNMP-агенту
$version
,$hostname
,$community
,$timeout
= -1,$retries
= -1Метод создаёт экземпляр класса SNMP, который представляет сессию для удалённого SNMP-агента.
version
Версия протокола SNMP:
SNMP::VERSION_1
,
SNMP::VERSION_2C
,
SNMP::VERSION_3
.
hostname
SNMP-агент. Необязательный порт SNMP-агента указывают
в виде суффикса — после имени хоста hostname
через двоеточие.
IPv6-адреса заключают в квадратные скобки, если указывают с портом.
Полное доменное имя (англ. Fully Qualified Domain Name, FQDN) разрешит PHP-модуль SNMP,
а не движок Net-SNMP, если в аргументе hostname
указали полное имя домена. Полное доменное имя заключают в квадратные скобки, чтобы включить
принудительный обмен информацией по IPv6-адресам. Вот несколько примеров:
IPv4-адрес с портом по умолчанию | 127.0.0.1 |
IPv6-адрес с портом по умолчанию | ::1 or [::1] |
IPv4-адрес с конкретным портом | 127.0.0.1:1161 |
IPv6-адрес с конкретным портом | [::1]:1161 |
Полное доменное имя с портом по умолчанию | host.domain |
Полное доменное имя с конкретным портом | host.domain:1161 |
Полное доменное имя с портом по умолчанию с принудительным сетевым взаимодействием по IPv6-адресам | [host.domain] |
Полное доменное имя с конкретным портом с принудительным сетевым взаимодействием по IPv6-адресам | [host.domain]:1161 |
community
Параметр устанавливает уровень безопасности для аргумента version
.
Назначение аргумента community
зависит от версии SNMP-объединения:
SNMP::VERSION_1
|
Значение "public" разрешает только чтение,
а значение "private" разрешает чтение и запись
|
SNMP::VERSION_2C
|
Значение "public" разрешает только чтение,
а значение "private" разрешает чтение и запись
|
SNMP::VERSION_3
|
Строка с названием уровня безопасности для версии протокола SNMPv3:
"noAuthNoPriv" ,
"authNoPriv" (потребуется парольная фраза и протокол аутентификации),
или "authPriv" (потребуются парольная фраза и протокол аутентификации,
и парольная фраза и протокол конфиденциальности)
|
timeout
Количество микросекунд до первого времени ожидания.
retries
Количество повторных попыток в случае превышения времени ожидания.
Метод SNMP::__construct() выбрасывает исключение, когда количество или типы параметров неверны или указали неизвестную версию SNMP-протокола.
Пример #1 Пример получения физического расположения хоста
<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$sysdescr = $session->get("sysDescr.0");
echo "$sysdescr\n";
?>
Вывод приведённого примера будет похож на:
STRING: Test server