【问题标题】:PHP SNMP - Cannot find modulePHP SNMP - 找不到模块
【发布时间】:2013-05-09 17:34:47
【问题描述】:

我已启用 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 上。

【问题讨论】:

    标签: php apache snmp


    【解决方案1】:

    我在 Ubuntu 中使用 php7.1 遇到了同样的问题,解决方案是安装 snmp 包

    apt-get install snmp
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这些类似于 bash 环境和 net-snmp 工具(不确定是否与此相关)。很高兴你找到了答案。 :)
      • 我相信 PHP 在后面使用的是 Net-SNMP,所以我认为它与您熟悉的 net-snmp 工具类似是有道理的:)
      【解决方案3】:

      打开您的php.ini 并在如下行添加一些神奇的分号:

      extension=php_snmp.dll
      

      应该是这样的:

      ;extension=php_snmp.dll
      

      【讨论】:

      • 如果我不需要 SNMP,这是真的,但在这种情况下,我确实需要。我想我可能已经找到了解决它的方法。让我回答我自己的问题。谢谢!
      • 您了解如何安装 SNMP 了吗?看这里technet.microsoft.com/en-us/library/cc759570(v=ws.10).aspx
      • SNMP服务不是让你在Windows机器上做snmpget/snmpwalk吗?即监控Windows机器?如果是这样,那不是我想做的。我想从 Windows 机器上获取并步行,而不是 TO。
      • 对我来说情况正好相反,如果我删除分号,我的 ampps localhost 会再次神奇地工作。谢谢。
      【解决方案4】:

      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

      您的问题将得到解决

      我附上截图供你参考。

      【讨论】:

      • 我在 Windows 10 中遇到了同样的问题。它显示如下。 'MIB 搜索路径:c:/usr/share/snmp/mibs'。因此,我将“Mibs”文件复制到该位置。但是没有这样的位置。我必须在“c:usr”文件夹中创建共享/snmp。
      【解决方案5】:

      在 linux 上,我可以通过将其添加到我的 /etc/php5/apache2/conf.d/snmp.ini 文件来解决这些问题。

      mibdir=/usr/share/snmp/mibs
      mibs=全部

      【讨论】:

        【解决方案6】:

        我只是在这里通过添加将其修复在我的机器上

        mibdirs +/var/lib/mibs/iana:/var/lib/mibs/ietf
        

        /etc/snmp/snmp.conf

        【讨论】:

          【解决方案7】:

          在 Ubuntu 中遇到了类似的问题 -

          在 /etc/snmp/snmp.conf -

          # As the snmp packages come without MIB files due to license reasons, loading
          # of MIBs is disabled by default. If you added the MIBs you can reenable
          # loading them by commenting out the following line.
          #mibs :
          

          所以,注释掉这个文件中的 mibs 行解决了它。

          【讨论】:

            【解决方案8】:

            偶然发现将旧 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

            【讨论】:

              猜你喜欢
              • 2014-08-28
              • 2016-11-20
              • 1970-01-01
              • 2018-06-06
              • 1970-01-01
              • 2022-12-15
              • 2014-04-11
              相关资源
              最近更新 更多