snmpset
(PHP 4, PHP 5, PHP 7, PHP 8)
snmpset — Définit la valeur d'un objet SNMP
Description
snmpset() sert à définir la valeur de l'objet SNMP
spécifié par object_id.
Liste de paramètres
hostname
-
Le nom d'hôte de l'agent SNMP (serveur).
community
-
La communauté d'écriture.
object_id
-
L'identifiant de l'objet SNMP.
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 |
| i | INTEGER |
| u | INTEGER |
| s | STRING |
| x | HEX STRING |
| d | DECIMAL STRING |
| n | NULLOBJ |
| o | OBJID |
| t | TIMETICKS |
| a | IPADDRESS |
| b | BITS |
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
| U | int64 non-signé |
| I | int64 signé |
| F | float |
| D | double |
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 hexadécimal mais sans(!) le préfixe usuel
"0x".
Reportez-vous à la section sur les exemples pour plus de détails.
value
-
La nouvelle valeur.
timeout
-
Le nombre de microsecondes depuis le premier timeout.
retries
-
Le nombre d'essais avant d'atteindre le délai maximal d'attente.
Valeurs de retour
Cette fonction retourne true en cas de succès ou false si une erreur survient.
Si l'hôte SNMP rejette le type de données, une alerte de type
E_WARNING comme
"Warning: Error in packet. Reason: (badValue) The value given has the
wrong type or length." sera affiché.
Si un OID inconnu ou invalide est spécifié, le contenu de l'alerte sera
probablement "Could not add variable".
Exemples
Exemple #1 Exemple avec snmpset()
<?php
snmpset("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>
Exemple #2 Exemple avec snmpset() pour configurer l'identifiant de l'objet SNMP BITS
<?php
snmpset("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
snmpset("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>