(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP セッションを表します。
$version
,$hostname
,$community
,$timeout
= -1,$retries
= -1GET/SET/GETBULK リクエスト単位の最大の OID
SNMP の値を返す方法
SNMP_VALUE_LIBRARY | Net-SNMP ライブラリの返す値を返します。 |
SNMP_VALUE_PLAIN | SNMP 型情報を含まないプレーンな値を返します。 |
SNMP_VALUE_OBJECT | オブジェクトを返します。このオブジェクトはプロパティ "value" および "type" を持ち、後者のプロパティの値は SNMP_OCTET_STR, SNMP_COUNTER などの定数となります。 "value" の中身は SNMP_VALUE_LIBRARY と SNMP_VALUE_PLAIN のどちらが設定されているかによって変わります。 |
NET-SNMP ライブラリ内の quick_print
の値
NET-SNMP ライブラリ内の quick_print
の値を指定します。 これを (1 に) 設定すると、SNMP ライブラリは「手早く表示」した値を返します。 つまり、単なる値だけを表示するということです。quick_print
を有効にしなければ (デフォルト)、NET-SNMP ライブラリは追加情報 (値の型、たとえば IpAddress や OID) も表示します。 さらに、quick_print が有効でない場合は、三文字以下のすべての文字列に対して追加の十六進値を表示します。
enum 値の表示方法
walk や get などが、自動的に MIB 内の enum 値の元をたどって その値も可読形式の文字列にするかどうかを設定します。
OID の出力フォーマットの制御
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance |
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1.1.3.0 |
SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance |
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance |
SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance |
SNMP_OID_OUTPUT_NONE | Undefined |
OID ツリーを走査中の OID 増加チェックの無効化
SNMP エージェントの中には、 OID を返す順番がおかしくても走査はできるというものがあります。 それ以外のエージェントの場合、OID を返す順番がおかしくなると SNMP::walk() が無限ループになり、 メモリを食いつぶしてしまいます。PHP の SNMP ライブラリは、 デフォルトで OID の増加チェックを行い、もし OID ツリーの走査中に OID が増加しないパターンがあればそこで走査を終了します。 oid_increasing_check を false
にすると、このチェックが無効になります。
警告ではなく SNMPException を発生させるのがどの失敗なのかを設定します。 Use bitwise OR'ed SNMP::ERRNO_*
constants. By default all SNMP exceptions are disabled.
読み込み専用のプロパティで、リモートエージェントの設定を表します。 ホスト名やポート、デフォルトのタイムアウト、デフォルトの再試行回数を含みます。
SNMP::ERRNO_NOERROR
SNMP に関するエラーは発生していません。
SNMP::ERRNO_GENERIC
SNMP のエラーが発生しました。
SNMP::ERRNO_TIMEOUT
SNMP エージェントへのリクエストがタイムアウトしました。
SNMP::ERRNO_ERROR_IN_REPLY
SNMP エージェントがエラーの応答を返しました。
SNMP::ERRNO_OID_NOT_INCREASING
SNMP エージェントが、(BULK)WALK コマンドの実行中に前の OID から増加していない OID に当たりました。 リモート SNMP エージェントが偽物である可能性があります。
SNMP::ERRNO_OID_PARSING_ERROR
OID (や SET コマンドの型) のパースに失敗しました。 クエリは作成されませんでした。
SNMP::ERRNO_MULTIPLE_SET_QUERIES
要求された SET 操作で複数のクエリを使います。 この操作はトランザクション内の操作ではないので、 二番目以降のクエリに型や値の問題があれば失敗するかもしれません。
SNMP::ERRNO_ANY
すべての SNMP::ERRNO_* コードをビット OR したもの。