PHP Conference Japan 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
)

建立一個代表與遠端 SNMP 代理程式連線的 SNMP 實例。

參數

version(版本)

SNMP 協定版本:SNMP::VERSION_1SNMP::VERSION_2CSNMP::VERSION_3

hostname(主機名稱)

SNMP 代理程式。 hostname 可以加上冒號後接 SNMP 代理程式埠號。如果使用 IPv6 位址搭配埠號,則必須將 IPv6 位址用方括號括起來。如果 hostname 使用 FQDN,則會由 PHP SNMP 擴充套件解析,而不是由 Net-SNMP 引擎解析。如果要強制使用 IPv6 位址來指定 FQDN,可以將 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 安全名稱,可以是以下其中之一:noAuthNoPrivauthNoPriv(需要驗證密碼和驗證協定)或 authPriv(需要驗證密碼和協定,以及隱私密碼和協定)。
SNMPv3 需要使用 SNMP::setSecurity() 方法設定安全性相關的連線參數。
timeout(逾時)

第一次逾時前的微秒數。

retries(重試次數)

發生逾時時的重試次數。

錯誤/例外

當參數數量或類型錯誤,或指定了未知的 SNMP 協定版本時,SNMP::__construct() 會擲出例外。

範例

範例 #1 取得主機的實體位置

<?php

$session
= new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$sysdescr = $session->get("sysDescr.0");
echo
"$sysdescr\n";

?>

以上範例會輸出類似以下的內容

STRING: Test server

另請參閱

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top