SNMP::getnext

指定したオブジェクト ID に続く SNMP オブジェクトを取得する

説明

public mixed SNMP::getnext(arraystring $objectId)

objectId で指定したオブジェクトに続く SNMP オブジェクトの値を取得します。

パラメータ

objectId が文字列の場合は SNMP::getnextSNMP オブジェクトを文字列で返します。 objectId が配列の場合は、要求されたすべての SNMP オブジェクトを SNMP オブジェクトの id とその値の連想配列で返します。

objectId

SNMP オブジェクト (OID)。

戻り値

SNMP オブジェクトの値を objectId にあわせて文字列か配列で返します。 エラー時には false を返します。

エラー / 例外

このメソッドは、デフォルトでは一切例外をスローしません。ライブラリでエラーが発生したときに SNMPException をスローさせるには SNMP クラスパラメータ exceptions_enabled に値を設定しなければなりません。 詳細は SNMP::$exceptions_enabled の説明を参照ください。

例1 単一の SNMP オブジェクト

ひとつの SNMP オブジェクトに対するリクエストは二通りの方法で行えます。 文字列でリクエストすると結果は文字列で返され、要素がひとつだけの配列でリクエストすると結果は連想配列で返されます。

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $nsysdescr = $session->getnext("sysDescr.0");
  echo "$nsysdescr\n";
  $nsysdescr = $session->getnext(array("sysDescr.0"));
  print_r($nsysdescr);
?>

上の例の出力は、 たとえば以下のようになります。

OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
)

例2 複数の SNMP オブジェクト

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $results = $session->getnext(array("sysDescr.0", "sysName.0"));
  print_r($results);
  $session->close();
?>

上の例の出力は、 たとえば以下のようになります。

Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [SNMPv2-MIB::sysLocation.0] => STRING: Nowhere
)

参考

  • SNMP::getErrno
  • SNMP::getError