Signatur
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
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);
}
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.