Rechercher une fonction PHP

SNMP::walk

(PHP 5 >= 5.4.0, PHP 7)

SNMP::walkRécupère le sous-objet d'un objet SNMP

Description

public SNMP::walk ( string $object_id [, bool $suffix_as_key = FALSE [, int $max_repetitions [, int $non_repeaters ]]] ) : array

SNMP::walk() est utilisé pour lire le sous-objet SNMP dont la profondeur est spécifiée par le paramètre object_id.

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

object_id

Racine du sous-objet à lire

suffix_as_key

Par défaut, la notation complète de l'OID est utilisée pour les clés dans le tableau résultant. Si définit à TRUE, le préfixe du sous-objet sera supprimé des clés, ne laissant ainsi que le suffixe de object_id.

non_repeaters

Spécifie le nombre de variables fournies qui ne doivent pas être répétées. Par défaut, cette valeur sera utilisée depuis l'objet SNMP.

max_repetitions

Spécifie le nombre maximal d'itérations sur les variables répétées. Par défaut, cette valeur sera utilisée depuis l'objet SNMP .

Retour à la première page de Manuel PHP  Table des matières Haut

Valeurs de retour

Retourne un tableau associatif d'identifiants d'objets SNMP ainsi que leurs valeurs en cas de succès ou FALSE si une erreur survient. Lorsqu'une erreur SNMP survient, SNMP::get_errno() et SNMP::get_error() peuvent être utilisées pour récupérer respectivement le numéro de l'erreur (spécifique à l'extension SNMP, voir les constantes de la classe) ainsi que le message d'erreur.

Retour à la première page de Manuel PHP  Table des matières Haut

Erreurs / Exceptions

Cette méthode ne lance aucune exception par défaut. Pour activer l'émission d'exceptions SNMPException lorsque des erreurs de la bibliothèque surviennent, le paramètre de la classe SNMP exceptions_enabled doit être défini à la valeur correspondante. Voir les explications sur SNMP::$exceptions_enabled pour plus de détails.

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Exemple avec SNMP::walk()

<?php
  $session 
= new SNMP(SNMP_VERSION_1"127.0.0.1""public");
  
$fulltree $session->walk(".");
  
print_r($fulltree);
  
$session->close();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [DISMAN-EVENT-MIB::sysUpTimeInstance] => Timeticks: (1150681750) 133 days, 4:20:17.50
    [SNMPv2-MIB::sysContact.0] => STRING: Nobody
    [SNMPv2-MIB::sysName.0] => STRING: server.localdomain
    ...
)

Exemple #2 Exemple avec la paramètre suffix_as_key

Le paramètre suffix_as_key peut être utilisé lors de la fusion de plusieurs sous-objets SNMP en un seul. Cet exemple lie les noms d'interfaces et leurs types.

<?php
  $session 
= new SNMP(SNMP_VERSION_1"127.0.0.1""public");
  
$session->valueretrieval SNMP_VALUE_PLAIN;
  
$ifDescr $session->walk(".1.3.6.1.2.1.2.2.1.2"TRUE);
  
$session->valueretrieval SNMP_VALUE_LIBRARY;
  
$ifType $session->walk(".1.3.6.1.2.1.2.2.1.3"TRUE);
  
print_r($ifDescr);
  
print_r($ifType);
  
$result = array();
  foreach(
$ifDescr as $i => $n) {
    
$result[$n] = $ifType[$i];
  }
  
print_r($result);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [1] => igb0
    [2] => igb1
    [3] => ipfw0
    [4] => lo0
    [5] => lagg0
)
Array
(
    [1] => INTEGER: ieee8023adLag(161)
    [2] => INTEGER: ieee8023adLag(161)
    [3] => INTEGER: ethernetCsmacd(6)
    [4] => INTEGER: softwareLoopback(24)
    [5] => INTEGER: ethernetCsmacd(6)
)
Array
(
    [igb0] => INTEGER: ieee8023adLag(161)
    [igb1] => INTEGER: ieee8023adLag(161)
    [ipfw0] => INTEGER: ethernetCsmacd(6)
    [lo0] => INTEGER: softwareLoopback(24)
    [lagg0] => INTEGER: ethernetCsmacd(6)
)

Retour à la première page de Manuel PHP  Table des matières Haut

Voir aussi

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-snmp.walk.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut