Start · Sprachen · PHP · Referenz · snmp_set_quick_print

snmp_set_quick_print

Funktion

Aktiviert oder deaktiviert den Quick-Print-Modus der NET-SNMP-Bibliothek, der die Ausgabe von SNMP-Werten vereinfacht.

seit PHP 4.0.0 Kategorie: http

Signatur

snmp_set_quick_print(bool $enable): bool

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

Typ
bool
Beschreibung
Gibt immer 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);
STRING: "My Router" My Router

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);
Interface 0: eth0 Interface 1: eth1

// 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.