编辑
我觉得这很愚蠢。我刚才注意到,在CLI上,它返回了oid.1。PHP只是出错了,因为我在oid的末尾没有.1。
这是我的东西。我正在尝试轮询Cisco设备,以通过SNMP收集有关温度、CPU使用情况、接口使用情况等的信息。
操作系统:CentOS 6.5 64位PHP:5.4.28NET-SNMP支持:已启用NET-SNMP版本:5.5PHP SNMP版本:0.1
我能够执行以下操作并获得预期结果。
snmpwalk 10.0.0.1 -c communityname -v 2c .1.3.6.1.4.1.9.9.109.1.1.1.1.5 2>/dev/null
这将与一起返回
CISCO-PROCESS-MIB::cpmCPUTOtal5min.1 = Guage32: 1
然而,如果我尝试通过PHP运行以下程序,我不会得到相同的结果。
$cpu = snmp2_get("10.0.0.1", "communityname", ".1.3.6.1.4.1.9.9.109.1.1.1.1.5");
相反,它输出了这个。
snmp2_get(): Error in packet at 'SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.5': No Such Instance currently exists at this OID
我不知道我错过了什么,老实说,我可能在寻找错误的东西,让我朝着我需要的方向前进。我不明白为什么PHP一直试图使用SNMPv2 SMI-mib与CISCO-PROCESS-mib。
非常感谢您的帮助。
谢谢!
我觉得这很愚蠢。我刚才注意到,在CLI上,它返回了oid.1。PHP只是出错了,因为我在oid的末尾没有.1。