Rechercher une fonction PHP

SNMP::set

(PHP 5 >= 5.4.0, PHP 7)

SNMP::setDéfinitl a valeur d'un objet SNMP

Description

public SNMP::set ( mixed $object_id , mixed $type , mixed $value ) : bool

Demande à l'agent distant SNMP de définir la valeur d'un ou plusieurs objets SNMP spécifiés par son identifiant object_id.

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

Liste de paramètres

Si object_id est une chaîne de caractères, alors les paramètres type et value doivent aussi être une chaîne de caractères. Si object_id est un tableau, le paramètre value doit être un tableau de même taille contenant les valeurs correspondantes, et le paramètre type pourra être soit une chaîne de caractères (sa valeur sera utilisée pour toutes les paires object_id-value) ou bien un tableau de même taille avec des paires OID-valeur. Lorsqu'une autre combinaison de paramètres est fournie, des alertes de niveau E_WARNING peuvent être émises avec une description détaillée.

object_id

L'identifiant de l'objet SNMP.

Lorsque le nombre d'OIDs dans le tableau object_id est supérieur à la propriété max_oids de l'objet, la méthode devra utiliser plusieurs requêtes pour effectuer les mises à jour demandées. Dans ce cas, la vérification du type et de la valeur est effectuée par morceau, aussi, la seconde requête (et les autres sous-requêtes) échouera en raison d'un mauvais type ou d'une mauvaise valeur pour l'OID demandé. Afin de repérer ce comportement, une alerte est émise lorsque le nombre d'OIDs dans le tableau object_id est supérieur à la propriété max_oids.

type

Le MIB définit le type de chaque identifiant d'objets. Il doit être spécifié sous la forme d'un simple caractère depuis la liste suivante.

types
=Le type est récupéré depuis le MIB
iINTEGER
uINTEGER
sSTRING
xHEX STRING
dDECIMAL STRING
nNULLOBJ
oOBJID
tTIMETICKS
aIPADDRESS
bBITS

Si la constante OPAQUE_SPECIAL_TYPES a été définie lors de la compilation de la bibliothèque SNMP, les caractères suivants seront également disponibles :

types
Uint64 non-signé
Iint64 signé
Ffloat
Ddouble

La plupart de ces valeurs utilise le type ASN.1 correspondant. 's', 'x', 'd' et 'b' sont toutes des façons différentes de spécifier la valeur OCTET STRING et le type non-signé 'u' est également utilisé pour gérer les valeurs Gauge32.

Si les fichiers MIB sont chargés dans l'arbre MIB avec "snmp_read_mib" ou en les spécifiant dans la configuration de libsnmp, '=' pourra être utilisé comme paramètre de type pour tous les identifiants d'objets, vu que le type peut automatiquement être lu depuis le MIB.

Notez qu'il y a 2 façons de définir une variable de type BITS like i.e. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • En utilisant le type "b" et une liste d'octets. Cette méthode n'est pas recommandée vu que la requête GET pour un même OID retournera i.e. 0xF8.
  • En utilisant le type "x" et un nombre héxadécimal mais sans(!) le préfixe usuel "0x".

Reportez-vous à la section sur les exemples pour plus de détails.

value

La nouvelle valeur.

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

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

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 Définit un seul identifiant d'objet SNMP

<?php
  $session 
= new SNMP(SNMP_VERSION_2C"127.0.0.1""private");
  
$session->set('SNMPv2-MIB::sysContact.0''s'"Nobody");
?>

Exemple #2 Définit plusieurs valeurs en utilisant un seul appel à la méthode SNMP::set() call

<?php
  $session 
= new SNMP(SNMP_VERSION_2C"127.0.0.1""private");
  
$session->set(array('SNMPv2-MIB::sysContact.0''SNMPv2-MIB::sysLocation.0'), array('s''s'), array("Nobody""Nowhere"));
// ou
  
$session->set(array('SNMPv2-MIB::sysContact.0''SNMPv2-MIB::sysLocation.0'), 's', array("Nobody""Nowhere"));
?>

Exemple #3 Exemple avec SNMP::set() pour configurer l'identifiant d'objet SNMP BITS

<?php
  $session 
= new SNMP(SNMP_VERSION_2C"127.0.0.1""private");
  
$session->set('FOO-MIB::bar.42''b''0 1 2 3 4');
// ou
  
$session->set('FOO-MIB::bar.42''x''F0');
?>
Rechercher une fonction PHP

Version en cache

22/11/2024 06:09:23 Cette version de la page est en cache (à la date du 22/11/2024 06:09:23) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-snmp.set.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