(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::set — Définit la valeur d'un objet SNMP
Demande à l'agent distant SNMP de définir la valeur
d'un ou plusieurs objets SNMP spécifiés par son identifiant
objectId.
Si objectId est une chaîne de caractères, alors
les paramètres type et value
doivent aussi être une chaîne de caractères. Si objectId
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
objectId-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.
objectIdtype| = | Le type est récupéré depuis le MIB |
| i | INTEGER |
| u | INTEGER |
| s | STRING |
| x | HEX STRING |
| d | DECIMAL STRING |
| n | NULLOBJ |
| o | OBJID |
| t | TIMETICKS |
| a | IPADDRESS |
| b | BITS |
OPAQUE_SPECIAL_TYPES a été définie lors
de la compilation de la bibliothèque SNMP, les caractères suivants
seront également disponibles :
| U | int64 non-signé |
| I | int64 signé |
| F | float |
| D | double |
value
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.
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()
<?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');
?>