我试图通过SNMP从设备获取值。 它目前在我网络上的几乎所有设备上运行良好,但有一个根本不能回答来自PHP的snmp。但是当我发出" snmpget"命令来自我的命令行。
snmpget -v2c -c public 10.XX.17.232 1.3.6.1.2.1.1.1.0
工作得很好,但是:
<?php echo snmpget("10.XX.17.232", "public", "1.3.6.1.2.1.1.1.0", 1000000, 1); ?>
回答PHP Warning: snmpget(): No response from 10.31.17.232 in Command line code on line 1
在其他设备上,我的php中的snmp工作得很好,没问题。 例如:
php -r 'echo snmpget("10.XX.21.230", "public", "1.3.6.1.2.1.1.1.0", 1000000, 1);
给我一个好的价值。只在某些设备上。 我首先虽然它可能是关于ACL,但我对它们进行了双重检查并且Command Line Snmp正在工作......
有人对我有答案吗? 祝你有个美好的一天!
答案 0 :(得分:2)
您在命令行中使用SNMP v2c,在PHP中使用版本1。 你试过snmp2_get吗?
string snmp2_get(string host,string community,string object_id [,int timeout [,int retries]]);