SNMP::__construct
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::__construct — リモート SNMP エージェントへのセッションを表す SNMP インスタンスを作成する
説明
int
$version
,string
$hostname
,string
$community
,int
$timeout
= -1,int
$retries
= -1)
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::__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 セッションを閉じる