Heim >Backend-Entwicklung >PHP-Tutorial >So beheben Sie Probleme mit Magento -Login mit Cookies und Sitzungen
Dieser Artikel ist eine gemeinsame Anstrengung mit Ktree. Vielen Dank an unsere Partner, die SitePoint ermöglichen.
In diesem Artikel wird untersucht, wie Magento Cookie -Missverständnisse sowohl im StoreFront als auch im Admin -Backend die Anmeldungsfunktionen stören können, die zugrunde liegenden Ursachen erläutert und Lösungen liefert. Dieses Problem wird oft durch eine Umleitungsschleife gekennzeichnet, wobei der Anmeldebildschirm trotz korrekter Anmeldeinformationen wieder auftaucht.
Ein diagnostisches Skript wird enthalten, um mehrere häufigste Probleme zu identifizieren. Fühlen Sie sich frei, es für Ihre spezifischen Bedürfnisse anzupassen und zu erweitern.
Schlüsselpunkte:
.example.com
) für die Subdomänenabdeckung zu verwenden. Kekse und Sitzungen verstehen:
Ein Cookie ist eine kleine Textdatei, die ein Webserver auf dem Computer eines Benutzers speichert und später abrufen kann. Magento verwendet Cookies für Karren- und Administratorfunktionen, und Cookie -Probleme können Anmeldungen behindern.
Eine Sitzung ist ein serverseitiges Array, das Informationen über mehrere Seiten speichert. CART -Elemente werden beispielsweise häufig in Sitzungen gespeichert und während der Kasse abgerufen. Die Sitzungen werden durch eine eindeutige ID (in PHP, der 'PHP -Sitzungs -ID') identifiziert. Diese ID muss als Cookie im Browser des Benutzers gespeichert werden, um die Verbindung herzustellen.
Magento Session Speicher:
Magento bietet mehrere Sitzungsanbieter, die in app/etc/local.xml
:
<session_save></session_save><session_save_path></session_save_path>
<session_save></session_save>
zu /app/etc/local.xml
, um die Datenbanksitzungspeicher zu aktivieren. Sitzungen werden in der Tabelle Core\_session
gespeichert. <session_save>db</session_save><redis_session><host>127.0.0.1</host><port>6379</port></redis_session>
<session_save></session_save><session_save_path></session_save_path>
Magentos Keksverbrauch:
Magento verwendet Cookies von 'Frontend' und 'AdminHtml'. "Frontend" wird beim Surfen einer Seite erstellt und auf dem Kundenanmeldung aktualisiert. 'adminHtml' wird auf dem Backend -Login erstellt. Überprüfen Sie das Element (in Chrom: Element und GT; Anwendung ) diese Cookies. Die Cookie -Konfiguration befindet sich im Magento Admin -Menü: System & GT; Konfiguration & GT; General & gt; Web .
Fehlerbehebung Anmeldungsfehler und Weiterleitungen:
Die frustrierende Login -Umleitungsschleife ist ein häufiges Magento -Problem. Lassen Sie uns Lösungen untersuchen:
Problem 1: Nicht übereinstimmende Cookie- und Serverdomänen:
Wenn Ihre Website example.com
ist, aber die Magento -Cookie -Domäne xyz.com
, wird Magento Cookies xyz.com
verwendet, aber die Sitzungsvalidierung verwendet die aufgerufene Domäne (example.com
). Das System findet die Sitzung nicht, was zu einer Umleitung führt.
Lösung: Korrigieren Sie die Cookie -Domäne in System & GT; Konfiguration & GT; General & gt; Web . Verwenden Sie alternativ SQL:
<code class="language-sql">SELECT * FROM core_config_data WHERE path = 'web/cookie/cookie_domain'; -- Verify UPDATE core_config_data SET VALUE = "domain.com" WHERE path = 'web/cookie/cookie_domain'; -- Update</code>
Problem 2: Falsche Cookie -Konfiguration für mehrere Subdomänen:
Anmeldung in example.com/admin
könnte funktionieren, aber staging.example.com/admin
schlägt fehl. Anmeldungen mögen zunächst erfolgreich sein, aber das Schalten von Domänen erfordert eine Cookie -Lichtung.
Lösung 1 (gleicher Server): Setzen Sie die Cookie -Domäne auf .example.com
in System & GT; Konfiguration & GT; General & gt; Web .
Lösung 2 (verschiedene Server): Setzen Sie die Cookie -Domäne für jeden Server angemessen (z. B. .example.com
für die Hauptdomäne und .staging.example.com
für die Staging). Stellen Sie außerdem sicher
Lösung 3 (weniger empfohlen): modifizieren
app/code/core/Mage/Core/Controller/Varien/Action.php
adminhtml
Problem 3: Doppelte Frontend Cookies:
Mehrere Frontend -Cookies können Anmeldungen verhindern.
Lösung:
Stellen Sie die konsistenten Keksdomäneneinstellungen () über Haupt- und Subdomänen sicher. Überprüfen Sie Ihre für Cookie -Domäneneinstellungen und sorgen Sie für eine Konsistenz mit der Magento -Konfiguration.
.example.com
php.ini
Problem 4: Erstellung von Sitzungen zur Erstellung von Sitzungen:
Fehler wie "Session_regenerate_id (): Es kann nicht erstellt werden (Lese-) Sitzungs -ID" auftreten, insbesondere in PHP 7 aufgrund der strengen Überprüfung des Typs.
Lösung:
typecaste die -Funktion in bis . read()
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
return (string)$data;
Problem 5: Falsche Sitzungsdateibesitz:
Warnungen wie "Session_start (): Die Sitzungsdatendatei wird nicht von Ihrer UID erstellt" geben Berechtigungsfragen an.
Lösung:
Webserver -Benutzer Grant -Benutzer (z. B.) Besitz des Sitzungsverzeichnisses (z. B. ). Betrachten Sie alternative Sitzungsanbieter (z. B. Datenbank oder Redis) und löschen Sie das Verzeichnis . www-data
sudo chown -R www-data:www-data
var/cache
PHP -Skript für die Cookie -Diagnose:
Dieses Skript gibt Server- und Magento -Cookie -Domänenkonfigurationen, Cookie -Werte und potenzielle Probleme wie doppelte Frontend Cookies aus.
.<code class="language-sql">SELECT * FROM core_config_data WHERE path = 'web/cookie/cookie_domain'; -- Verify UPDATE core_config_data SET VALUE = "domain.com" WHERE path = 'web/cookie/cookie_domain'; -- Update</code>
häufig gestellte Fragen (FAQs) - zusammengefasst:
Der FAQS -Abschnitt enthält detaillierte Antworten auf häufige Fragen zur Fehlerbehebung von Magento -Login -Problemen, auf verschiedene Aspekte wie Cookie und Sitzungsmanagement, Fehlerlösung, Leistungsoptimierung und Suche nach professioneller Hilfe. Das wichtigste Mitnehmen besteht darin, konsistente und korrekte Cookie- und Sitzungskonfigurationen in Ihrem Magento -Setup zu gewährleisten und das bereitgestellte diagnostische Skript zu verwenden, um spezifische Probleme zu identifizieren und zu beheben.
Das obige ist der detaillierte Inhalt vonSo beheben Sie Probleme mit Magento -Login mit Cookies und Sitzungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!