我已启用SNMP模块,正在尝试模块中的函数。我已将MIBDIRS环境变量设置为MIB所在的位置,但仍收到以下“找不到模块”警告:
Cannot find module (IP-MIB): At line 0 in (none)
Cannot find module (IF-MIB): At line 0 in (none)
Cannot find module (TCP-MIB): At line 0 in (none)
Cannot find module (UDP-MIB): At line 0 in (none)
Cannot find module (HOST-RESOURCES-MIB): At line 0 in (none)
Cannot find module (SNMPv2-MIB): At line 0 in (none)
Cannot find module (SNMPv2-SMI): At line 0 in (none)
Cannot find module (NOTIFICATION-LOG-MIB): At line 0 in (none)
Cannot find module (UCD-SNMP-MIB): At line 0 in (none)
Cannot find module (UCD-DEMO-MIB): At line 0 in (none)
Cannot find module (SNMP-TARGET-MIB): At line 0 in (none)
Cannot find module (NET-SNMP-AGENT-MIB): At line 0 in (none)
Cannot find module (DISMAN-EVENT-MIB): At line 0 in (none)
Cannot find module (SNMP-VIEW-BASED-ACM-MIB): At line 0 in (none)
Cannot find module (SNMP-COMMUNITY-MIB): At line 0 in (none)
Cannot find module (UCD-DLMOD-MIB): At line 0 in (none)
Cannot find module (SNMP-FRAMEWORK-MIB): At line 0 in (none)
Cannot find module (SNMP-MPD-MIB): At line 0 in (none)
Cannot find module (SNMP-USER-BASED-SM-MIB): At line 0 in (none)
Cannot find module (SNMP-NOTIFICATION-MIB): At line 0 in (none)
Cannot find module (SNMPv2-TM): At line 0 in (none)
我知道我已经修复了一次,但我似乎不能再修复它...我还能尝试什么?
我用的是Windows。
9条答案
按热度按时间eit6fx6z1#
显然,有两个环境变量可以设置。一个是
MIBDIRS
,它是所有MIB文件所在的位置。另一个是MIBS
,我相信它是您要加载的SNMP模块。通过将MIBS
设置为ALL
,我能够消除这些错误。2sbarzqh2#
我在Ubuntu的php7.1中遇到了同样的问题,解决方法是安装snmp包
wbrvyc0a3#
打开您的
php.ini
并在如下所示的行中添加一些神奇的分号:它应该看起来像:
kmbjn2e34#
php软件包不包含mibs文件夹,你要做的就是下载net-snmp的源文件,并将文件夹复制到你的php目录下
下载链接https://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/
之后,解压缩zip文件并复制mibs文件夹到你的php目录
例如,将其复制到C:\PHP\Extras\mibs
然后添加一个名为MIBDIRS的新系统变量。其值应为:C:\PHP\附加功能\mibs
最后,您可以运行
php -m
你的问题就会得到解决
我附上截图供您参考。x1c 0d1x
hk8txs485#
在Linux上,我可以通过将其添加到我的/etc/php5/apache 2/conf. d/snmp. ini文件中来修复这些问题。
mibdir=/usr/共享/snmp/mibs
mibs=全部
nnsrf1az6#
我只是在我的机器上添加了
到
/etc/snmp/snmp.conf
。a7qyws3x7#
面临着类似的问题,但在Ubuntu中-
在/etc/snmp/snmp.conf文件中-
所以,注解掉这个文件中的mibs行就解决了这个问题。
kninwzqo8#
偶然发现了这个将旧的Cacti迁移到Ubuntu 16的方法。
在Ubuntu/Debian软件包中,
php-snmp
依赖于php7.0-snmp
,两者都没有自带MIB,也不依赖于snmp-mibs-downloader
,因此SNMP模块最终失效,没有可用的MIB。您应该安装
snmp-mibs-downloader
(或等效的),让它下载所有可用的MIB,看看是否有帮助。如果没有帮助,您可能需要在/etc/php/x.x/mods-available/snmp.ini
中调整mibdirs
和/或手动加载所需的MIB(通过mibs = ALL
加载所有内容是可行的,但我认为这是一个不好的做法)。如果没有可用的下载程序,请按照@Robin的建议从Net-SNMP获取MIB
anhgbhbe9#
我在
php.ini
中将extension=snmp
更改为; extension=snmp