Ich habe ein wirklich frustrierendes Problem, bei dem ich keine der Header abrufen kann. Hier ist mein Code:
%Vor%Beide Zeilen erzeugen den Fehler 'Undefinierter Index: SystemTime'.
Ich kann nicht für das Leben von mir herausfinden, warum ich den Wert nicht bekommen kann. Wenn ich print_r($headers);
gehe, bekomme ich das
var_dump von $ headers
%Vor%var_dump von $ keys
%Vor%zurückgegeben:
%Vor%Ich stecke fest und ich kann ernsthaft nicht herausfinden, was falsch läuft. Es sollte funktionieren.
PS. Ich weiß, dass der SystemTime-Header nicht standard ist. Ich stelle das von meinem http_request zur Verfügung.
Ich habe es nach viel Hilfe von euch bekommen. Ich hatte das Gefühl, dass es nach der Deserialisierung funktionierte, dass die Kodierung vielleicht anders war und deshalb konnten wir es sehen, aber nicht anfassen?
Mein Code unten erhält alle Header und konvertiert die Codierung und fügt sie in ein neues Array ein:)
Hier ist mein 'Übersetzungscode'.
%Vor% Ihre beste Wette an diesem Punkt könnte sein, die $_SERVER
superglobal zu verwenden, um die Werte aller benötigten Header zu erhalten (z. B. $_SERVER['HTTP_SYSTEMTIME']
.
Ich konnte das Problem auf meinem System (PHP 5.4.3) nicht reproduzieren, indem ich getallheaders()
aufruft und eine benutzerdefinierte Anfrage wie Ihre mit dem Header SystemTime
an 2012-06-26+10%3a10%3a08
sendete. Es hat wie erwartet funktioniert und ich sehe den Wert zweimal ausgedruckt (einmal mit getallheaders()
und einmal mit $_SERVER
. Dies könnte sehr wohl ein seltsamer PHP-Fehler sein, da ich keine speziellen Hinweise zur Funktion apache_request_headers
sehe. oder irgendetwas Seltsames an seinem Code im 5.2.17-Zweig von PHP.
Ich hoffe, das hilft vorerst. Die Verwendung von $_SERVER['HTTP_*']
kann trotzdem zuverlässiger sein, da% ce_de% nicht in allen Konfigurationen verfügbar ist.
Tags und Links arrays php http-headers