In der Nähe, wie ich sagen kann, sollte es egal sein, was die Client-Zeit ist. PHP legt die Ablaufzeit basierend auf dem Unix-Timecode fest. Jede Abweichung in dieser Zeit sollte auf dem Server liegen.
Hier ist der Auszug aus dem PHP-Handbuch für setcookie ():
ablaufen:
Die Zeit, in der der Cookie abläuft. Dies ist ein Unix-Zeitstempel, also in der Anzahl der Sekunden seit der Epoche. Mit anderen Worten, Sie werden höchstwahrscheinlich Stellen Sie dies mit der Funktion time () plus der Anzahl der Sekunden davor ein Sie möchten, dass es abläuft. Oder Sie könnten mktime () verwenden. Zeit () + 60 * 60 * 24 * 30 wird das Cookie in 30 Tagen ablaufen lassen. Wenn auf 0 gesetzt oder weggelassen, die Der Cookie läuft am Ende der Sitzung ab (wenn der Browser schließt).
Die PHP-Funktion setcookie () akzeptiert eine ganze Zahl, die einem Unix-Zeitstempel entspricht. Wenn Ihr Cookie eine Stunde Zeit zum Leben haben soll, können Sie einfach time () + 3600 für diesen Wert verwenden. PHP erstellt dann ein Cookie mit einer Ablaufzeit wie "abläuft = Fr, 3 Aug 2001 20:47:11 UTC". Es ist in UTC (GMT), sodass Sie sich keine Gedanken über die Zeitzone des Client-Browsers machen müssen.
Nehmen wir an, Sie verwenden Set-Cookie.
Ich mag mich irren, aber ich denke:
Sie geben den expire-Parameter als Unix-Zeitstempel an und berechnen den Zeitstempel als "in einer Stunde", sodass der Cookie in einer Stunde ablaufen soll. Daher ist die Zeitzone nicht wichtig, da der Unix-Zeitstempel eindeutig ist.
Die Aufgabe des Browsers besteht dann darin, den Unix-Zeitstempel in ein Datum zu übersetzen, das auf den Browsereinstellungen (Gebietsschema, Sprache usw.) basiert.