PHP无法在Windows 7下找到SNMP模块

时间:2014-07-08 08:25:02

标签: php snmp mib

我已启用SNMP模块正在尝试模块中的功能。我已将MIBDIRS环境变量设置为我拥有mibs的位置,但我仍然得到这些"找不到模块"警告:

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)

我的php.ini设置为:

mibdir=C:\\Users\username\Downloads\Applications\Dev\PHP\5.4\net-snmp-mibs\net-snmp-5.7.2.1\mibs
mibs=all
extension=php_snmp.dll

我在Windows上。

它仍然存在这些错误......

有什么见解吗?

4 个答案:

答案 0 :(得分:2)

PHP文档误导Windows; 为了摆脱错误并使SNMP模块正常工作,您必须在系统中添加一个名为 MIBDIRS 的环境变量,并指向您的mib文件的位置

在Windows 7上,例如,系统属性>环境变量>用户变量部分,单击新建并添加MIBDIRS,值为C:\ usr \ mibs(或放置mibs文件夹的任何位置)。

应使用Net-SNMP软件包提取文件,使用CLI模式在PHP 5.4.7上使用版本net-snmp-5.7.2.1进行测试。

答案 1 :(得分:1)

根据PHP SNMP Instllation页面:

  

Net-SNMP的Windows发行版包含SNMP的支持文件   在mibs目录中。应将此目录移至   DRIVE:\ usr \ mibs,其中DRIVE必须替换为driveletter   安装PHP的地方,例如:c:\ usr \ mibs。或者你可以设置   MIBDIRS环境变量指向您的MIBs文件夹。

http://php.net/manual/en/snmp.installation.php

答案 2 :(得分:0)

从另一篇文章复制:

显然,您可以设置2个环境变量。一个是MIBDIRS,它是所有MIB文件的所在。另一个是MIBS,我相信你要加载哪些SNMP模块。通过将MIBS设置为ALL,我能够摆脱错误

答案 3 :(得分:0)

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 \ Extras \ mibs

最后,您可以运行php -m

您的问题将被重新解决

我附上了一张截图供您参考。enter image description here