(PHP 4, PHP 5, PHP 7)
snmp3_set — Définit la valeur d'un objet SNMP
$host
, string $sec_name
, string $sec_level
, string $auth_protocol
, string $auth_passphrase
, string $priv_protocol
, string $priv_passphrase
, string $object_id
, string $type
, string $value
[, int $timeout = 1000000
[, int $retries = 5
]] ) : bool
snmp3_set() est utilisé pour définir la
valeur d'un objet SNMP spécifié par
le paramètre object_id.
Même si le niveau de sécurité n'utilise pas d'authentification ou de protocole privée par mot de passe, des valeurs valides doivent être spécifiées.
hostLe nom de l'hôte de l'agent SNMP (serveur).
sec_nameLe nom de la sécurité, habituellement, le nom d'utilisateur.
sec_levelLe niveau de sécurité (noAuthNoPriv|authNoPriv|authPriv).
auth_protocolLa protocole d'authentification (MD5 ou SHA).
auth_passphraseLa phrase secrète pour l'authentification.
priv_protocolLe protocole privé (DES ou AES)
priv_passphraseLa phrase secrète privée.
object_idL'identifiant de l'objet SNMP.
typeLe 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.
| = | 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 :
| 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)}":
Reportez-vous à la section sur les exemples pour plus de détails.
valueLa nouvelle valeur.
timeoutLe nombre de millisecondes avant le premier délai d'expiration.
retriesLe nombre de tentative dans le cas où le délai d'expiration est atteint.
Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.
Si l'hôte SNMP rejète 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." est affiché. Si un OID inconnu ou invalide est spécifié, l'alerte sera probablement "Could not add variable".
Exemple #1 Exemple avec snmp3_set()
<?php
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifAlias.3', 's', "foo");
?>
Exemple #2 Exemple avec snmp3_set() pour configurer l'identifiant de l'objet SNMP BITS
<?php
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'x', 'F0');
?>