(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::set — Define el valor de un objeto SNMP
Solicita al agente remoto SNMP que defina el valor
de uno o varios objetos SNMP especificados por su identificador
objectId.
Si objectId es un string, entonces
los parámetros type y value
deben ser también un string. Si objectId
es un array, el parámetro value debe ser un
array de igual tamaño que contenga los valores correspondientes, y el
parámetro type podrá ser un string (su valor será utilizado para todas las parejas
objectId-value) o bien
un array de igual tamaño con pares OID-valor. Cuando se proporciona
otra combinación de parámetros, pueden emitirse alertas de nivel
E_WARNING con una descripción detallada.
objectIdtype| = | El tipo es recuperado desde el 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 ha sido definida durante la compilación de la biblioteca SNMP, los caracteres siguientes también estarán disponibles:
| U | int64 sin signo |
| I | int64 con signo |
| F | float |
| D | double |
type para todos los identificadores de objeto, ya que entonces el tipo se puede leer automáticamente desde el MIB.
Nota que hay 2 formas de definir una variable de tipo BITS como i.e. "SYNTAX
BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":
value
Este método no lanza excepciones por defecto. Para activar
el lanzamiento de excepciones SNMPException cuando ocurren errores de la biblioteca, el parámetro
de la clase SNMP exceptions_enabled
ebe ser definido al valor correspondiente. Ver las explicaciones
sobre SNMP::$exceptions_enabled para más detalles.
Ejemplo #1 Define un solo identificador de objeto SNMP
<?php
$session = new SNMP(SNMP_VERSION_2C, "127.0.0.1", "private");
$session->set('SNMPv2-MIB::sysContact.0', 's', "Nobody");
?>Ejemplo #2 Define varios valores utilizando una sola llamada al método 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"));
// o
$session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), 's', array("Nobody", "Nowhere"));
?>Ejemplo #3 Ejemplo con SNMP::set() para configurar el identificador de objeto 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');
// o
$session->set('FOO-MIB::bar.42', 'x', 'F0');
?>