PHP SNMP警告:SNMP :: get():127.0.0.1没有响应

时间:2018-07-13 09:52:41

标签: php snmp

我正在尝试使PHP SNMP在XAMPP PHP 7.1.9上运行

我总是得到以下结果:public class UploadModel { public List<IFormFile> Files { get; set; } public string OtherProperty { get; set; } }

这就是我所做的:

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

我要测试的代码:

[HttpGet]
public IActionResult Upload()
{
    return View(new UploadModel());
}

[HttpPost]
public async Task<IActionResult> Index(UploadModel model)
{
    var otherProperty = model.OtherProperty;
    var files = new Dictionary<string, string>();

    foreach (IFormFile file in model.Files)
    {
        using (var reader = new StreamReader(file.OpenReadStream()))
        {
            string content = await reader.ReadToEndAsync();
            files.Add(file.Name, content);

            // Available file properties: 

            // file.FileName
            // file.ContentDisposition
            // file.ContentType
            // file.Headers
            // file.Length
            // file.Name

            // You can copy file to other stream if needed:
            // file.CopyTo(new MemoryStream()...);
        }
    }
}

我对此并不陌生,所以我不确定自己缺少什么。

1 个答案:

答案 0 :(得分:0)

问题出在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

解决方案:

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

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