Signatur
Beschreibung
http_clear_last_response_headers() entfernt alle intern gecachten HTTP-Antwort-Header, die durch den zuletzt ausgeführten HTTP-Request (z. B. via http_get() oder http_post()) gespeichert wurden. Diese Header sind normalerweise über http_get_last_response_headers() abrufbar.
Die Funktion ist nützlich, wenn innerhalb eines Skripts mehrere aufeinanderfolgende HTTP-Requests gemacht werden und sichergestellt werden soll, dass beim Auslesen der Antwort-Header keine veralteten Daten eines vorherigen Requests vorhanden sind. Durch das explizite Löschen wird eine saubere Trennung der Request-Kontexte erreicht.
Typischerweise wird diese Funktion als Teil der PECL-Erweiterung pecl_http (HTTP-Extension) bereitgestellt. Sie steht daher nur zur Verfügung, wenn diese Erweiterung installiert und aktiviert ist.
Rückgabewert
Beispiele
Header nach HTTP-Request löschen und erneut abrufen
<?php
// Ersten HTTP-Request durchführen
$response1 = http_get('https://example.com/api/endpoint1');
$headers1 = http_get_last_response_headers();
echo "Headers nach erstem Request:\n";
print_r($headers1);
// Gespeicherte Header löschen, bevor der nächste Request erfolgt
http_clear_last_response_headers();
// Zweiten HTTP-Request durchführen
$response2 = http_get('https://example.com/api/endpoint2');
$headers2 = http_get_last_response_headers();
echo "Headers nach zweitem Request:\n";
print_r($headers2);
Prüfen, ob Header nach dem Löschen leer sind
<?php
// HTTP-Request ausführen
$response = http_get('https://example.com/');
// Header auslesen
$headersBefore = http_get_last_response_headers();
echo "Anzahl Header vor dem Löschen: " . count($headersBefore) . "\n";
// Header löschen
http_clear_last_response_headers();
// Nach dem Löschen sollten keine Header mehr vorhanden sein
$headersAfter = http_get_last_response_headers();
echo "Anzahl Header nach dem Löschen: " . count($headersAfter) . "\n";
// Wichtig · Fallstricke
Achtung: Diese Funktion ist Teil der PECL-Erweiterung pecl_http und steht nicht im Standard-PHP-Kern zur Verfügung. Sie muss über PECL installiert werden (pecl install pecl_http). Die API kann sich je nach Version der Erweiterung unterscheiden.
In neueren Versionen der HTTP-Erweiterung (v2+) wurde die API grundlegend objektorientiert umgestaltet. Prozedurale Funktionen wie http_clear_last_response_headers() sind möglicherweise nur in der älteren Version 1.x verfügbar. Für moderne Projekte empfiehlt sich die objektorientierte API oder die Verwendung von Bibliotheken wie Guzzle.