Entschuldigung im Voraus für die dünnen Details zu diesem.
Ich verkaufe eine Magento-Erweiterung. Mit der neuesten Version habe ich angefangen, von einigen Benutzern einen seltsamen Fehlerbericht zu erhalten. Insbesondere nach der Installation der Erweiterung wird gemeldet, dass sie sich nicht beim Administrator anmelden können. Anmeldeanforderungen werden auf die Anmeldeseite zurückgeleitet, und es wird keine Fehlermeldung angezeigt.
Das klingt also nach dem klassischen Problem "Cookie kann nicht gesetzt / Sitzung instanziiert werden". Das Seltsame ist, dass sie sich nach 3 - 12 Stunden anmelden können (das ist eine Schätzung). Mit anderen Worten, sie stoßen auf das Problem, kontaktieren mich für Unterstützung, ich schreibe zurück, sie berichten, dass das Problem verschwunden ist. Ich gehe auch davon aus, dass das Löschen der Cookies und das Einrichten einer neuen Sitzungs-ID das Problem beheben und Benutzern, die darauf stoßen, dasselbe empfehlen wird.
Ist hier jemand auf etwas Ähnliches gestoßen oder kann er sich einen Grund vorstellen, warum dies passiert? Ich kann das Problem nicht lokal neu erstellen, aber ich habe genug Berichte erhalten, von denen ich überzeugt bin, dass es ein legitimes Problem ist.
quelle
Antworten:
Zehn Monate später bin ich mir ziemlich sicher, dass dieser Fehler dadurch verursacht wurde, dass ein Sitzungsobjekt zu früh im Anforderungslebenszyklus von Magento (über einen Beobachter) instanziiert wurde. Wenn eine Sitzung zu früh instanziiert wird, lautet der Name des PHP-Cookies
PHPSESSID
anstelle vonadminhtml
oderfrontend
.Dadurch wird der Systembetrieb nicht gestoppt, aber in bestimmten bedingten Codepfaden, in denen bereits ein Cookie gesetzt wurde, kann es vorkommen, dass ein in der Sitzung festgelegtes Anmeldetoken nicht ordnungsgemäß gelesen / geschrieben wird, was zu Fehlern beim "Ich kann mich nicht anmelden" führt.
Die vollständige Erklärung ist zu lang für eine einzelne Stack Exchange-Antwort, aber Sie können sie hier finden , wenn Sie interessiert sind. (Selbstlink)
quelle
Wie Daniel Sloof sagte, stellen Sie sicher, dass die Zeit auf dem Server korrekt ist. Dies hat mich in der Vergangenheit daran gehindert, mich einzuloggen. Stellen Sie nach dem Zurücksetzen der Zeit auf dem Server sicher, dass Sie Ihre Sitzungen (und den Cache für ein gutes Maß) sowohl von Ihrem Browser als auch von der Magento-Installation trennen.
quelle