PHP Velho Oeste 2024

SNMP::__construct

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

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

説明

public SNMP::__construct(
    int $version,
    string $hostname,
    string $community,
    int $timeout = -1,
    int $retries = -1
)

The function description goes here.

パラメータ

version

SNMP プロトコルのバージョン。 SNMP::VERSION_1SNMP::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_1SNMP コミュニティ
SNMP::VERSION_2CSNMP コミュニティ
SNMP::VERSION_3SNMPv3 セキュリティ名
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

参考

add a note add a note

User Contributed Notes 1 note

up
0
GF
9 years ago
<?php
  $session
= new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
 
$sysdescr = $session->get("sysDescr.0");
  echo
"$sysdescr\n";
?>
doesn't work for me, use it instead :
<?php
  $version
= "3";   // snmp version "1", "2" or "2c", "3"
 
$host = "127.0.0.1";   // hostname or ip
 
$community = "public";   // snmp community

 
$session = new SNMP($version, $host, $community);
 
$sysdescr = $session->get("sysDescr.0");
  echo
"$sysdescr\n";
?>
I don't use the snmp version 2 that's why i have written 2 or 2c, I'm not sure so test it.
To Top