(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::__construct — 创建表示与远程 SNMP 代理的会话的 SNMP 实例
$version
,$hostname
,$community
,$timeout
= -1,$retries
= -1创建表示与远程 SNMP 代理的会话的 SNMP 实例。
version
SNMP 协议版本:SNMP::VERSION_1
、SNMP::VERSION_2C
、SNMP::VERSION_3
。
hostname
SNMP 代理。 hostname
可以后缀可选的 SNMP 代理端口(冒号后)。IPv6 地址如果与端口一起使用,必须用方括号括起来。如果 hostname
使用 FQDN,它将由 PHP SNMP 扩展解析,而不是由 Net-SNMP 引擎解析。通过将 FQDN 括在方括号中,可以强制使用 IPv6 地址。以下是一些示例
带有默认端口的 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 安全名称,可以是:noAuthNoPriv 、authNoPriv (需要身份验证密码和身份验证协议)或 authPriv (需要身份验证密码和协议,以及隐私密码和协议) |
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