Создаёт экземпляр класса SNMP, который представляет сеанс удалённому SNMP-агенту

# SNMP::__construct

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

SNMP::__construct — Создаёт экземпляр класса SNMP, который представляет сеанс удалённому SNMP-агенту

### Описание

public function SNMP::__construct(
int `$version`,
string `$hostname`,
string `$community`,
int `$timeout` = -1,
int `$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"` (потребуются парольная фраза и протокол аутентификации, и парольная фраза и протокол конфиденциальности)

  Для уровня безопасности, который устанавливается в версии SNMPv3, потребуется сконфигурировать параметры сессии. Параметры безопасности устанавливают методом SNMP::setSecurity().
`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

### Смотрите также

- SNMP::close() - Закрывает сессию SNMP

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open