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を使用しています。
どうやらあなたが設定できる2つの環境変数があります。 1つはMIBDIRS
で、ここにすべてのMIBファイルがあります。もう1つはMIBS
です。これは、ロードするSNMPモジュールであると私は信じています。 MIBS
をALL
に設定することで、エラーを取り除くことができました。
Php7.1を使用したUbuntuでも同じ問題が発生し、解決策はsnmpパッケージをインストールすることでした
apt-get install snmp
Linuxでは、これを/etc/php5/Apache2/conf.d/snmp.iniファイルに追加することで、これらを修正することができました。
mibdir =/usr/share/snmp/mibs
mibs = all
php.ini
を開き、次のような魔法のセミコロンを行に追加します。
extension=php_snmp.dll
次のようになります。
;extension=php_snmp.dll
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
を実行できます
そしてあなたの問題は解決されます
ここに追加して自分のマシンで修正しました
mibdirs +/var/lib/mibs/iana:/var/lib/mibs/ietf
to /etc/snmp/snmp.conf
。
この古いCactiのUbuntu16への移行に遭遇しました。
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を取得してください。
同様の問題に直面しましたが、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行をコメントアウトすると、問題が解決しました。