Signatur
Beschreibung
litespeed_response_headers() ist ein Alias der Funktion apache_response_headers() und gibt alle aktuell gesetzten HTTP-Antwort-Header als assoziatives Array zurück. Die Funktion ist speziell für den Einsatz unter dem LiteSpeed-Webserver gedacht, verhält sich jedoch identisch zu ihrem Apache-Gegenstück.
Mit dieser Funktion lässt sich zur Laufzeit überprüfen, welche Header bereits für die Antwort registriert wurden – zum Beispiel Content-Type, Cache-Control oder selbst gesetzte Header via header(). Dies ist besonders nützlich beim Debuggen oder beim Aufbau von Middleware-Schichten, die Header-Informationen auswerten müssen, bevor die Ausgabe abgeschlossen wird.
Die Funktion muss vor dem Senden des eigentlichen HTTP-Antwortkörpers aufgerufen werden (d. h. bevor ob_flush(), flush() oder das Ende des Skripts die Header endgültig absenden), um zuverlässig alle gesetzten Header zurückzuliefern. Die Schlüssel des Arrays entsprechen den Header-Namen, die Werte den jeweiligen Header-Werten.
Da es sich um einen Alias handelt, ist die Funktion nur dann verfügbar, wenn PHP unter dem LiteSpeed-Webserver (LSAPI) oder dem Apache-Webserver betrieben wird. In anderen Serverumgebungen (z. B. Nginx mit PHP-FPM) steht sie möglicherweise nicht zur Verfügung.
Rückgabewert
false zurückgegeben.Beispiele
Alle Antwort-Header vor der Ausgabe auflisten
<?php
// Einen eigenen Header setzen
header('X-Powered-By: MeineApp/1.0');
header('Cache-Control: no-store, no-cache');
// Alle aktuellen Antwort-Header abrufen
$headers = litespeed_response_headers();
if ($headers !== false) {
foreach ($headers as $name => $value) {
echo htmlspecialchars($name) . ': ' . htmlspecialchars($value) . PHP_EOL;
}
} else {
echo 'Antwort-Header konnten nicht abgerufen werden.';
}
Prüfen, ob ein bestimmter Header bereits gesetzt ist
<?php
header('Content-Type: application/json');
$headers = litespeed_response_headers();
if ($headers !== false && isset($headers['Content-Type'])) {
echo 'Content-Type ist gesetzt: ' . $headers['Content-Type'];
} else {
echo 'Content-Type ist noch nicht gesetzt.';
}
// Wichtig · Fallstricke
Verfügbarkeit: Die Funktion steht nur unter dem LiteSpeed-Webserver (via LSAPI) oder dem Apache-Webserver zur Verfügung. Unter Nginx oder anderen Servern mit PHP-FPM ist sie nicht verfügbar und führt zu einem fatalen Fehler. Vor dem Einsatz sollte daher mit function_exists('litespeed_response_headers') die Verfügbarkeit geprüft werden.
Alias: Da es sich um einen Alias von apache_response_headers() handelt, empfiehlt es sich für portablen Code, stattdessen apache_response_headers() zu verwenden oder zunächst zu prüfen, welche Funktion verfügbar ist.
Zeitpunkt des Aufrufs: Die zurückgegebenen Header spiegeln nur die zum Zeitpunkt des Funktionsaufrufs registrierten Header wider. Nachträglich gesetzte Header erscheinen nicht in bereits abgerufenen Ergebnissen.