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 地址如果与端口一起使用,必须用方括号括起来。如果 hostname 使用 FQDN,它将由 PHP SNMP 扩展解析,而不是由 Net-SNMP 引擎解析。通过将 FQDN 括在方括号中,可以强制使用 IPv6 地址。以下是一些示例

带有默认端口的 IPv4127.0.0.1
带有默认端口的 IPv6::1 或 [::1]
带有特定端口的 IPv4127.0.0.1:1161
带有特定端口的 IPv6[::1]:1161
带有默认端口的 FQDNhost.domain
带有特定端口的 FQDNhost.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::__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

参见

添加备注

用户贡献的笔记

此页面没有用户贡献的笔记。
To Top