リモート SNMP エージェントへのセッションを表す SNMP インスタンスを作成する

# SNMP::__construct

(PHP 5 >= 5.4.0, PHP 7)

SNMP::__construct — リモート SNMP エージェントへのセッションを表す SNMP インスタンスを作成する

### 説明

public SNMP::__construct ( int `$version` , string `$hostname` , string `$community` [, int `$timeout` = 1000000 [, int `$retries` = 5 ]] )

The function description goes here.

### パラメータ

`version`

  SNMP プロトコルのバージョン。 `SNMP::VERSION_1`、 `SNMP::VERSION_2C` あるいは `SNMP::VERSION_3`。

`hostname`

  SNMP エージェント。`hostname` には、オプションでコロンに続けて SNMP エージェントのポートを指定できます。 IPv6 アドレスでポートを指定する場合は、アドレス部を角括弧で囲まなければなりません。 `hostname` で FQDN を使うと、その解決に使われるのは php-snmp ライブラリであり、Net-SNMP エンジンは使いません。 FQDN を指定するときに IPv6 アドレスを使うには、FQDN を角括弧で囲まなければなりません。 いくつか例を示します。

  IPv4 (デフォルトのポート) | 127.0.0.1
  IPv6 (デフォルトのポート) | ::1 あるいは [::1]
  IPv4 (ポートを指定) | 127.0.0.1:1161
  IPv6 (ポートを指定) | [::1]:1161
  FQDN (デフォルトのポート) | host.domain
  FQDN (ポートを指定) | host.domain:1161
  FQDN (デフォルトのポート)、IPv6 アドレスを強制 | [host.domain]
  FQDN (ポートを指定)、IPv6 アドレスを強制 | [host.domain]:1161

`community`

  `community` の目的は SNMP のバージョンによって異なります。

  SNMP::VERSION_1 | SNMP コミュニティ
  SNMP::VERSION_2C | SNMP コミュニティ
  SNMP::VERSION_3 | SNMPv3 セキュリティ名

`timeout`

  最初のタイムアウトまでのミリ秒数。

`retries`

  タイムアウト発生時の再試行回数。

### 返り値

リモート SNMP エージェントを表す SNMP オブジェクトを返します。

### エラー / 例外

SNMP::__construct() が例外を発生させるのは、 パラメータの数や型が間違っていたり未知の SNMP プロトコルバージョンを指定したりした場合です。

### 例

例1 sysLocation の取得

`<?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 セッションを閉じる