SNMP::__construct

Creates SNMP instance representing session to remote SNMP agent

&reftitle.description; public `SNMP::__construct` `int` `version` `string` `hostname` `string` `community` `int` `timeout` 1000000 `int` `retries` 5

The function description goes here.

&reftitle.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 library, not by Net-SNMP engine. Usage of IPv6 addresses when specifying FQDN may be forced by enclosing FQDN into square brackets. Here it is 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`

- The purpuse of `community` is SNMP version specific:

  ##

  SNMP::VERSION_1 | SNMP community
  SNMP::VERSION_2C | SNMP community
  SNMP::VERSION_3 | SNMPv3 securityName

`timeout`

- The number of microseconds until the first timeout.

`retries`

- The number of retries in case timeout occurs.

&reftitle.returnvalues;

Returns SNMP object representing remote SNMP agent.

&reftitle.errors;

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

&reftitle.examples;

### Fetching sysLocation

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

&example.outputs.similar;

    STRING: Test server

&reftitle.seealso;

- `SNMP::close`