PHP SNMP 警告:SNMP::get():127.0.0.1 无响应

PHP SNMP Warning: SNMP::get(): No response from 127.0.0.1

我正在尝试让 PHP SNMP 在 XAMPP PHP 7.1.9

上工作

我总是得到这样的结果:Warning: SNMP::get(): No response from 127.0.0.1

这是我所做的:

  1. 已在 php.ini
  2. 上启用 php_snmp.dll
  3. 已安装 net-snmp-5.5.0-2.x64
  4. 添加了 windows 环境变量 MIBDIRS,值为 C:\usr\share\snmp\mibs

代码我是运行测试:

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

我是新手,所以我不确定我错过了什么。

问题出在 MIBDIRS 路径上。

我关注了 php 文档,它说: The Windows distribution of Net-SNMP contains support files for SNMP in the mibs directory. This directory should added to Windows' environment variables, as MIBDIRS, with the value being the full path to the mibs directory: e.g. c:\usr\mibs.

问题是我在我的 net-snmp 安装中找不到 c:\usr\mibs,所以我改用 C:\usr\share\snmp\mibs

解法:

我尝试在 cli 上使用支持 snmp 的设备而不是 127.0.0.1 和 运行 snmpget 并确认 net-snmp 安装确实有效。我认为问题一定出在路径 php 用于 运行 snmp.

所以我使用 where snmpget 检查命令路径,然后更改 MIBDIRS 环境值,结果为 C:\usr\bin\snmpget.exe