7 Stimmen

Wird in PHP eine Sitzung erstellt, wenn kein Browser verwendet wird?

Ich habe eine API, die auf bestimmte Statusinformationen zwischen Anfragen angewiesen ist. Als einfache erste Version des Codes verwende ich einfach PHP-Sitzungen, um die Statusinformationen zu speichern, anstatt etwas Fortschrittlicheres (APC, Memcache, DB). Während meiner ersten Tests in einem Webbrowser funktionierte alles perfekt. Es scheint jedoch, dass, wenn Clients versuchen, über Nicht-Browser-Methoden wie Curl oder wget eine Verbindung herzustellen, die Statusinformationen nicht beibehalten werden.

Wird eine PHP-Sitzung nur erstellt, wenn ein Browser die Seite anfordert? Ich starte die Sitzung explizit mit session_start() und benenne sie vorher mit session_name().

Eine zusätzliche Anmerkung . Ich lernte, dass eines der Hauptprobleme, die ich hatte, darin bestand, dass ich die Sitzung benannte, anstatt die Sitzungs-ID über session_id($id) zu setzen. Meine Absicht bei der Verwendung von session_name() war es, dieselbe Sitzung abzurufen, die zuvor erstellt wurde, und der korrekte Weg, dies zu tun, ist die Einstellung der session_id, nicht der session_name.

Es scheint, dass die Sitzungsinformationen auf dem Server erhalten bleiben, wie unten angegeben (DANKE). Um diese zu erhalten, müssen Sie jedoch die Sitzungs-ID oder, wie in meinem Fall, eine andere ID übergeben, die den Benutzer eindeutig identifiziert. Verwenden Sie diese ID als session_id und Ihre Sitzungen werden wie erwartet funktionieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X