PHP SNMP - Не удается найти модуль


Я включил модуль 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.

Author: PLui, 2013-05-09

8 answers

По-видимому, вы можете установить 2 переменные среды. Один из них - MIBDIRS, где находятся все файлы MIB. Другой - MIBS, который, как я полагаю, является тем, какие модули SNMP вы хотите загрузить. Установив MIBS в ALL, я смог избавиться от ошибок.

 8
Author: PLui, 2013-05-10 17:03:38

У меня такая же проблема в Ubuntu с php7.1, и решением была установка пакета snmp

apt-get install snmp
 5
Author: marcus, 2016-11-06 16:56:45

В linux я смог исправить это, добавив это в свой файл /etc/php5/apache2/conf.d/snmp.ini.

Mibdir=/usr/общий доступ/snmp/mib
mib=все

 4
Author: tc0nn, 2013-09-04 21:09:14

Откройте свой php.ini и добавьте волшебную точку с запятой в строке, которая выглядит так:

extension=php_snmp.dll

Это должно выглядеть так:

;extension=php_snmp.dll
 3
Author: Wesley Schleumer de Góes, 2013-05-09 17:58:57

Пакет php не включает папку mib, все, что вам нужно сделать, это загрузить исходный файл net-snmp и скопировать папку в свой каталог php

Ссылка для скачивания https://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/

После этого распакуйте zip-файл и скопируйте папку mib в свой каталог php

Для примера скопируйте его в C:\PHP\Extras\mibs
Затем добавьте новую системную переменную под названием MIBDIRS. Его значение должно быть: C:\PHP\Extras\mibs

Наконец, вы можете запустить php -m

И ваш выпуск будет отправлен повторно

Я прилагаю скриншот для вашей справки.enter image description here

 2
Author: Robin, 2016-11-16 16:47:08

Я только что исправил это на своей машине, добавив

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

К /etc/snmp/snmp.conf.

 1
Author: Teddy, 2014-12-01 21:11:14

Столкнулся с аналогичной проблемой, но в 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 :

Итак, закомментировав строку mib в этом файле, мы решили эту проблему.

 1
Author: Aayush Bhardwaj, 2016-03-03 11:11:09

Наткнулся на этот перенос старых кактусов в Ubuntu 16.

В пакете Ubuntu/Debian php-snmp зависит от php7.0-snmp, ни один из которых не поставляется с MIB или не зависит от snmp-mibs-downloader, следовательно, модуль SNMP перестает функционировать без доступных MIB.

Что вам следует сделать, так это установить snmp-mibs-downloader (или эквивалент) и позволить ему загрузить все доступные MIB и посмотреть, поможет ли это. Если это не так, вам может потребоваться настроить mibdirs в /etc/php/x.x/mods-available/snmp.ini и/или вручную загрузить необходимые MIB (загрузка всего через mibs = ALL будет работа, но я считаю это плохой практикой).

Если загрузчик недоступен, следуйте совету @Robin и получайте MIB от Net-SNMP

 1
Author: Gendalph, 2018-09-11 18:36:48