# SNMP::__construct

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::__construct — Crée une instance SNMP représentant la session vers l'agent distant SNMP

### Description

public SNMP::__construct(
int `$version`,
string `$hostname`,
string `$community`,
int `$timeout` = -1,
int `$retries` = -1
)

Crée une instance SNMP représentant une session avec un agent SNMP distant.

### Liste de paramètres

`version`

  Version du protocole SNMP : `SNMP::VERSION_1`, `SNMP::VERSION_2C`, `SNMP::VERSION_3`.

`hostname`

  L'agent SNMP. Le paramètre `hostname` peut être préfixé avec le port de l'agent optionnel SNMP après une virgule. Les adresses IPV6 doivent être entourées de crochets ([]) si vous utilisez en plus les ports. Si FQDN est utilisé pour le paramètre `hostname`, il sera résolu par l'extension PHP SNMP, et non par le moteur Net-SNMP. L'utilisation des adresses IPV6 lors de l'utilisation de FQDN peut être forcé en entourant FQDN de crochets. Voici quelques exemples :

  IPv4 avec un port par défaut | 127.0.0.1
  IPv6 avec un port par défaut | ::1 or [::1]
  IPv4 avec un port spécifique | 127.0.0.1:1161
  IPv6 avec un port spécifique | [::1]:1161
  FQDN avec un port par défaut | host.domain
  FQDN avec un port spécifique | host.domain:1161
  FQDN avec un port par défaut, forçage de l'utilisation d'adresses IPV6 | [host.domain]
  FQDN avec un port spécifique, forçage de l'utilisation d'adresses IPV6 | [host.domain]:1161

`community`

  Spécifie le niveau de sécurité pour la `version` donnée. L'objectif de la chaîne d'accès `community` est spécifique à la version de SNMP :

  `SNMP::VERSION_1` | `public` pour une permission en lecture seule ou `private` pour lecture-écriture
  `SNMP::VERSION_2C` | `public` pour une permission en lecture seule ou `private` pour lecture-écriture
  `SNMP::VERSION_3` | Nom de sécurité SNMPv3, peut être l'un des suivants : `noAuthNoPriv`, `authNoPriv` (un mot de passe d'authentification et un protocole d'authentification sont requis), ou `authPriv` (un mot de passe et un protocole d'authentification, ainsi qu'un mot de passe et un protocole de confidentialité sont requis)

  SNMPv3 nécessite la configuration des paramètres de session liés à la sécurité avec la méthode SNMP::setSecurity().
`timeout`

  Le nombre de microsecondes avant le premier délai d'expiration.

`retries`

  Le nombre de tentative lorsqu'un délai d'expiration survient.

### Erreurs / Exceptions

SNMP::__construct() lance une exception lorsque les paramètres sont faux ou que la version du protocole SNMP est inconnue.

### Exemples

Exemple #1 Récupération de l'emplacement physique de l'hôte

`<?php
$session = new SNMP(SNMP_VERSION_1, "127.0.0.1", "public");
$sysdescr = $session->get("sysDescr.0");
echo "$sysdescr\n";
?>`

Résultat de l'exemple ci-dessus est similaire à :

    STRING: Test server

### Voir aussi

- SNMP::close() - Ferme une session SNMP