SNMP::__construct
リモート SNMP エージェントへのセッションを表す SNMP インスタンスを作成する
説明
public SNMP::__construct(
int $version
,
string $hostname
,
string $community
,
int $timeout
= -1,
int $retries
= -1
)
パラメータ
-
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::__construct が例外を発生させるのは、
パラメータの数や型が間違っていたり未知の SNMP
プロトコルバージョンを指定したりした場合です。
例
例1 sysLocation の取得
<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$sysdescr = $session->get("sysDescr.0");
echo "$sysdescr\n";
?>