Signatur
Beschreibung
snmp_set_quick_print() steuert den sogenannten Quick-Print-Modus der zugrunde liegenden NET-SNMP-Bibliothek. Ist Quick Print aktiviert, gibt die Bibliothek SNMP-Werte in einem kompakteren Format aus – ohne den Typ-Präfix (z. B. STRING:, INTEGER:). Das erleichtert die Weiterverarbeitung der zurückgegebenen Werte in PHP-Skripten erheblich.
Standardmäßig ist Quick Print deaktiviert, sodass SNMP-Abfragen Ergebnisse wie STRING: "SomeValue" zurückliefern. Nach dem Aktivieren mit snmp_set_quick_print(true) lautet die Ausgabe nur noch SomeValue – also direkt der Rohwert ohne Typ-Annotation.
Diese Funktion ist besonders nützlich, wenn man SNMP-Daten direkt in eigene Anwendungen einbinden möchte, ohne die Typ-Präfixe manuell herausparsen zu müssen. Sie wirkt global auf alle nachfolgenden SNMP-Abfragen innerhalb desselben PHP-Prozesses.
Die Einstellung betrifft alle snmpget-, snmpwalk- und verwandten SNMP-Funktionen. Sie sollte daher gezielt gesetzt und ggf. nach der Verwendung wieder zurückgesetzt werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $enable Pflicht | bool | true aktiviert den Quick-Print-Modus (Ausgabe ohne Typ-Präfix), false deaktiviert ihn und stellt das Standard-Ausgabeformat wieder her. |
Rückgabewert
true zurück.Beispiele
SNMP-Abfrage ohne Typ-Präfix
<?php
// Ohne Quick Print: Ergebnis enthält Typ-Prefix
$result = snmpget('192.168.1.1', 'public', 'sysDescr.0');
echo $result . "\n"; // z. B.: STRING: "My Router"
// Mit Quick Print: nur der Rohwert
snmp_set_quick_print(true);
$result = snmpget('192.168.1.1', 'public', 'sysDescr.0');
echo $result . "\n"; // z. B.: My Router
// Quick Print wieder deaktivieren
snmp_set_quick_print(false);
SNMP-Walk mit vereinfachter Ausgabe
<?php
snmp_set_quick_print(true);
$interfaces = snmpwalk('192.168.1.1', 'public', 'ifDescr');
if ($interfaces !== false) {
foreach ($interfaces as $index => $iface) {
// $iface enthält z. B. "eth0" statt "STRING: eth0"
echo "Interface $index: $iface\n";
}
}
snmp_set_quick_print(false);
// Wichtig · Fallstricke
Globale Wirkung: Die Einstellung gilt prozessweit für alle nachfolgenden SNMP-Aufrufe. In Anwendungen mit mehreren Komponenten oder Bibliotheken, die SNMP nutzen, sollte der Zustand nach der Verwendung explizit zurückgesetzt werden, um unerwartetes Verhalten zu vermeiden.
PHP-Erweiterung: Diese Funktion setzt voraus, dass die PHP-Erweiterung ext/snmp aktiviert ist und gegen die NET-SNMP-Bibliothek kompiliert wurde. Ohne diese Voraussetzung ist die Funktion nicht verfügbar.