在CentOS 6上找不到类SNMP

时间:2016-06-06 17:00:23

标签: php snmp

也许我喝咖啡不好,也许只是因为它是星期一,但对于我的生活,我不确定我做错了什么。我已经通过yum安装了php-snmp.x86_64 5.3.3-47.el6,将php.x86_64更新为5.3.3-47.el6作为yum required并重新启动了apache,但我还是无法创建像这样的新SNMP对象(假设变量事先被实例化):

$snmp = new SNMP(SNMP::VERSION_2C, $ip, $community, $snmp_timeout);

错误日志状态" PHP致命错误:Class' SNMP'找不到"。各种论坛上的人都说它只能在PHP 5.4中使用,但如果是这样的话,为什么我能安装它呢? PHP SNMP安装页面指出" SNMP支持已在PHP 5.3.3中恢复。"

我希望这只是一个愚蠢的错误,可以通过缺少的包含修复,但我在这里缺少什么?

PHPInfo(来自apache,而不是CLI)注意到有关SNMP的以下内容:

Configure Command: --enable-ucd-snmp-hack
Additional .ini files parsed:  /etc/php.d/snmp.ini
NET-SNMP Support enabled
NET-SNMP Version 5.5

1 个答案:

答案 0 :(得分:0)

安装该模块允许您在PHP中使用SNMP functions。他们中的大多数已经永远存在(例如,PHP 4.0天),当然不需要SNMP 5.4。它们只是围绕C API函数的基本包装器,不提供任何面向对象的SNMP访问。

SNMP class,另一方面, 是PHP 5.4的新功能,所以在旧版本上不可用。

我建议使用Remi的存储库升级到现代PHP版本。有关详细信息,请参阅this answer,但网址可能已更改。