(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 エージェント。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
      指定された
      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
