Momentan konvertiere ich alle meine PHP-Unix-Zeitstempel zu arbeiten über 2k38 issue hinaus.PHP: setcookie() läuft nach dem Jahr 2038 ab
Ich bemerkte, dass setcookie()Ablaufdatum Parameter verwendet den Unix-Timestamp. Gibt es eine Möglichkeit, das Verfallsdatum mit einer alternativen Methode festzulegen, möglicherweise mit der DateTime-Klasse?
Von dem PHP-Dokument über Datum ablaufen:
Hinweis: Sie können die Parameter auf einem Unix-Zeitstempel nehmen ablaufen bemerken, auf das Datumsformat im Gegensatz WDY, DD-Mo-YYYY HH: MM: SS GMT, das ist , weil PHP diese Konvertierung intern durchführt.
Ich glaube nicht. Die Frage ist, es ist wirklich ** jetzt ** ein Problem für dich? 2038 ist in 18 Jahren. Ich bin zu 100% überzeugt, dass Ihre Software _re_redritten und bis zu diesem Datum angepasst sein wird ... –
Was ist falsch daran, dass 'setcookie' einen Unix-Zeitstempel nimmt? Es gibt nichts, was sie inhärent beschränkt, nur bis zum Jahr 2038 zu gehen. Wenn Sie 64-Bit-PHP haben, würde ich erwarten, einen Cookie-Ablauf nach 2038 zu setzen, wäre in Ordnung. – Chris
Sie können die 'setcookie' -Funktion mit dem' header' implementieren, um sie selbst einzustellen - aber ich denke, dass Sie das Problem nicht richtig verstehen: Nach dem Jahr 2038 können wir noch den Unix-Timestamp verwenden. – Federkun