Start · Sprachen · PHP · Referenz · stomp_connect_error

stomp_connect_error

Funktion

Gibt eine textuelle Beschreibung des zuletzt aufgetretenen STOMP-Verbindungsfehlers zurück.

seit PHP 0.1.0 Kategorie: misc

Signatur

stomp_connect_error(): string|false

Beschreibung

stomp_connect_error() ist eine prozedurale Funktion aus der PECL-Stomp-Erweiterung und liefert die Fehlermeldung, die beim letzten Verbindungsversuch über stomp_connect() aufgetreten ist. Sie ist besonders nützlich, wenn stomp_connect() false zurückgibt und man den genauen Fehlergrund ermitteln möchte.

Die Funktion gibt eine lesbare Zeichenkette zurück, die den Fehler beschreibt – z. B. wenn der Broker nicht erreichbar ist, die Authentifizierung fehlschlägt oder ein Netzwerkproblem vorliegt. Wenn kein Fehler aufgetreten ist oder noch kein Verbindungsversuch stattgefunden hat, wird false zurückgegeben.

Sie entspricht der Methode Stomp::getReadTimeout() im objektorientierten Stil und sollte immer direkt nach einem fehlgeschlagenen stomp_connect() aufgerufen werden, da spätere Operationen den internen Fehlerzustand überschreiben können.

Rückgabewert

Typ
string|false
Beschreibung
Gibt eine Zeichenkette mit der Beschreibung des letzten Verbindungsfehlers zurück. Wenn kein Fehler vorliegt oder kein Verbindungsversuch stattgefunden hat, wird false zurückgegeben.

Beispiele

Verbindungsfehler abfangen und ausgeben

<?php
// Versucht, eine Verbindung zu einem STOMP-Broker herzustellen
$connection = stomp_connect('tcp://localhost:61613');

if ($connection === false) {
    $error = stomp_connect_error();
    if ($error !== false) {
        echo 'STOMP-Verbindungsfehler: ' . $error . PHP_EOL;
    } else {
        echo 'Verbindung fehlgeschlagen, kein Fehlerdetail verfügbar.' . PHP_EOL;
    }
} else {
    echo 'Verbindung erfolgreich hergestellt.' . PHP_EOL;
    stomp_close($connection);
}
STOMP-Verbindungsfehler: Connection refused

Verbindungsaufbau mit Fehlerprotokollierung

<?php
$brokerUrl = 'tcp://nicht-erreichbarer-host:61613';
$connection = stomp_connect($brokerUrl);

if (!$connection) {
    $fehler = stomp_connect_error();
    error_log(
        sprintf(
            '[STOMP] Verbindung zu %s fehlgeschlagen: %s',
            $brokerUrl,
            $fehler !== false ? $fehler : 'Unbekannter Fehler'
        )
    );
    // Anwendung sauber beenden oder Fallback-Logik einleiten
    exit(1);
}

// Weitere Verarbeitung...
stomp_close($connection);

// Wichtig · Fallstricke

PECL-Erweiterung erforderlich: stomp_connect_error() ist Teil der PECL-Stomp-Erweiterung und nicht im PHP-Kern enthalten. Die Erweiterung muss separat installiert werden (pecl install stomp).

Zeitpunkt des Aufrufs: Der interne Fehlerzustand wird bei jedem neuen Verbindungsversuch überschrieben. Rufe stomp_connect_error() daher unmittelbar nach einem fehlgeschlagenen stomp_connect() auf, bevor weitere Verbindungsversuche unternommen werden.

Deprecation: Die PECL-Stomp-Erweiterung wird nicht mehr aktiv weiterentwickelt. Für neue Projekte empfiehlt sich die Verwendung einer moderneren Messaging-Bibliothek wie z. B. stomp-php/stomp-php über Composer.