SNMP::walk
(PHP 5 >= 5.4.0)
SNMP::walk — Récupère le sous-objet d'un objet SNMP
Description
$object_id
[, bool $suffix_as_key = FALSE
[, int $max_repetitions
[, int $non_repeaters
]]] )
SNMP::walk() est utilisé pour lire le sous-objet SNMP dont la profondeur est
spécifiée par le paramètre object_id.
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 .
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.
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.
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();
?><?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)
)
Voir aussi
- SNMP::getErrno() - Récupère le dernier code erreur
- SNMP::getError() - Récupère le dernier message d'erreur
