Creates SNMP instance representing session to remote SNMP agent

# SNMP::__construct

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

SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent

### Description

public SNMP::__construct(
int `$version`,
string `$hostname`,
string `$community`,
int `$timeout` = -1,
int `$retries` = -1
)

Creates SNMP instance representing session to remote SNMP agent.

### Parameters

`version`
  SNMP protocol version: `SNMP::VERSION_1`, `SNMP::VERSION_2C`, `SNMP::VERSION_3`.
`hostname`

  The SNMP agent. `hostname` may be suffixed with optional SNMP agent port after colon. IPv6 addresses must be enclosed in square brackets if used with port. If FQDN is used for `hostname` it will be resolved by PHP SNMP extension, not by Net-SNMP engine. Usage of IPv6 addresses when specifying FQDN may be forced by enclosing FQDN into square brackets. Here are some examples:

  IPv4 with default port | 127.0.0.1
  IPv6 with default port | ::1 or [::1]
  IPv4 with specific port | 127.0.0.1:1161
  IPv6 with specific port | [::1]:1161
  FQDN with default port | host.domain
  FQDN with specific port | host.domain:1161
  FQDN with default port, force usage of IPv6 address | [host.domain]
  FQDN with specific port, force usage of IPv6 address | [host.domain]:1161

`community`
  Specifies the security level for given `version`. The purpose of `community` access string is SNMP version specific:

  `SNMP::VERSION_1` | `public` for read-only permission or `private` for read-write
  `SNMP::VERSION_2C` | `public` for read-only permission or `private` for read-write
  `SNMP::VERSION_3` | SNMPv3 security name, may be one of: `noAuthNoPriv`, `authNoPriv` (an auth passphrase and auth protocol are required), or `authPriv` (both an auth passphrase and a protocol, as well as a privacy passphrase and protocol are required)

  SNMPv3 requires to configure security-related session parameters with the SNMP::setSecurity() method.
`timeout`
  The number of microseconds until the first timeout.
`retries`
  The number of retries in case timeout occurs.

### Errors/Exceptions

SNMP::__construct() throws an exception when parameters count or types are wrong or unknown SNMP protocol version specified.

### Examples

Example #1 Fetching the physical location of the host

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

The above example will output something similar to:

    STRING: Test server

### See Also

- SNMP::close() - Close SNMP session

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