Ich habe Magento 1.9 installiert . Es hat eine Woche lang gut funktioniert. Plötzlich gestern, als ich versuchte, mich im Magento Admin Panel anzumelden, und ich tippte username
und password
klickte auf die Schaltfläche Anmelden und nichts passierte. Die Seite wird aktualisiert und das ist alles. Kein Fehler oder andere Meldungen.
Wenn ich einen falschen Benutzernamen oder ein falsches Passwort eingegeben habe, wird ein Fehler angezeigt.
Nachdem ich über dieses Problem gegoogelt habe, wurde mir empfohlen, die folgenden Zeilen zu kommentieren:
app \ code \ core \ mage \ core \ model \ session \ abstract \ varien.php
/* to solve login issue */
/*if (!$cookieParams['httponly']) {
unset($cookieParams['httponly']);
if (!$cookieParams['secure']) {
unset($cookieParams['secure']);
if (!$cookieParams['domain']) {
unset($cookieParams['domain']);
}
}
}
if (isset($cookieParams['domain'])) {
$cookieParams['domain'] = $cookie->getDomain();*/ //I have commented these lines
Und für einige ältere Versionen unten wurde in der gleichen Datei empfohlen.
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
//'domain' => $cookie->getConfigDomain()
//'secure' => $cookie->isSecure(),
//'httponly' => $cookie->getHttponly()
);
}*/
Auch danach konnte ich mich nicht in admin einloggen. Es ist so wie es war. Jemand mit diesem Problem konfrontiert? Gibt es eine andere Lösung für dieses Problem?
(Ich habe versucht, Cache und Sitzung über FTP zu löschen).
quelle
app/code/local/Mage/Core..blahblah
Bearbeiten nach, damit Magento die Core-Datei überschreibt. Verwenden Sie Git auch für die Versionskontrolle, es ist ein Geschenk des Himmels.Antworten:
Hören Sie auf, den Kerncode so zu ändern - es kann vorübergehend ein Problem lösen, aber es kann zu zukünftigen Problemen führen, die fast unmöglich aufzuspüren sind.
Es gibt eine Reihe verschiedener Probleme , die zu dem fehlerfreien Anmeldeverhalten des Administrators führen. Sie gehen jedoch alle auf Magento zurück, da das Sitzungscookie nicht gesetzt oder gelesen werden kann. Magento verwendet Sitzungen, um Fehlermeldungen zwischen Seiten zu übertragen. Aus diesem Grund wird keine Fehlermeldung angezeigt. Magento verwendet auch Sitzungen, um den Wert "angemeldet" zu speichern. Wenn Sie also keine Sitzungen festlegen, wird auch das Hauptfehlerverhalten verursacht.
Mögliche Ursachen sind
Zeitunterschied zwischen lokalem Computer und Serverzeit, was zu einer sofortigen Ungültigkeit der Cookies führt. Stellen Sie sicher, dass Ihre Serverzeit korrekt ist.
Falsche Berechtigungen für
var/session
, sodass Sitzungsdateien nicht gespeichert werden könnenFalsche Konfiguration von Datenbank / Redis / anderem Sitzungsspeicher, wodurch das Speichern von Sitzungswerten verhindert wird
Ein Modul instanziiert Sitzungen zu früh und verhindert, dass die richtigen Sitzungsnamen festgelegt werden
Sie sind ein Entwickler, der mehrere URLs verwendet und über mehrere Cookie-Domänen verfügt
Ein anderer Entwickler hat es irgendwie modifiziert
app\code\core\Mage\Core\Model\Session\Abstract\Varien.php
und einen schwer auffindbaren Fehler verursachtDie Cookie-Domain in
System -> Configuration -> Web -> Session Cookie Management
stimmt nicht mit der tatsächlichen Site-Domain überein.Sie verwenden die
localhost
als Ihre Serverdomäne und verwenden eine Version des Webkits, bei derlocalhost
in bestimmten Situationen Probleme beim Setzen von Cookies auftreten .Die kurzfristige Lösung besteht darin, nur Ihren Cookie für die Domain zu löschen. Das ist oft genug, um das Problem zu lösen. Wenn dies weiterhin der Fall ist, ermitteln Sie, welcher der oben genannten Gründe für Ihren Fehler verantwortlich ist, und ergreifen Sie entsprechende Maßnahmen, um diesen zu beheben (Berechtigungen korrigieren usw.).
quelle
Ich habe die gleichen Symptome bei einigen Magento-Installationen (nicht nur 1.9). In meinem Fall passiert es nur in Chrome. Ich behebe dies, indem ich mich in Firefox / Safari / Opera anmelde und in den Einstellungen unter "Web" die Option "Nur HTTP verwenden" in "Sitzungscookies-Verwaltung" in "Nein" ändere.
quelle
Use HTTP only
auf ,No
ohne Admin - Panel - Zugang. Sie können diese SQL-Abfrage direkt starten: UPDATE__DATABASE_NAME__
.core_config_data
SETvalue
= '0' WOcore_config_data
.path
= 'web / cookie / cookie_httponly';Ich hatte auch dieses Problem. Es wurden keine Sitzungen erstellt, in die nicht geschrieben werden konnte
var/session
, obwohl das Verzeichnis selbst auf festgelegt ist0777
. Magento erstellte Sitzungsdateien, aber alle blieben null Bytes.Das Ändern des Sitzungsspeichers von,
files
umdb
das Problem für mich zu lösen.quelle
Kommentiere es so aus:
/*error_reporting(E_ALL | E_STRICT);*/
Verwenden Sie stattdessen den folgenden Code:
error_reporting(E_ALL);
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
Entfernen Sie das Kommentarzeichen, indem Sie das # -Zeichen entfernen. So sieht es aus:
ini_set('display_errors', 1);
Speichern Sie diese Datei und laden Sie sie auf den Server hoch. Laden Sie die Seite Ihrer Website neu, um Fehler anzuzeigen.
quelle
Ein weiterer möglicher Grund: Festplatte / Volume / Quota ist voll und die Sitzungsdaten können nicht auf die Festplatte geschrieben werden. Das mag unwahrscheinlich erscheinen, ist mir aber erst beim zweiten Mal passiert und es hat eine Weile gedauert, bis ich es herausgefunden habe.
Ich habe nicht genug Ruf, um einen Kommentar abzugeben, aber @Alan Storm, vielleicht möchten Sie dies in Ihre ausgezeichnete Liste aufnehmen.
quelle
Ich hatte vor kurzem das gleiche Problem und ein einfacher Trick funktionierte für mich. Dies gilt auch für Personen, die nicht auf das Dashboard von Google Chrome zugreifen können . Wenn Sie mit Mozilla Firefox arbeiten können, tun Sie dies bitte, da dieses Problem unter Mozilla Firefox vermutlich nicht weiter besteht.
Die Lösung für Chrom lautet also:
Goto System-> Configuration-> Web . Erweitern Sie die Registerkarte Unsicher und sicher. Ändern Sie die Basis-URL in,
http://127.0.0.1/[Your folder name]
wenn Sie localhost verwenden, oder in Ihre Site-URL, über die Sie auf das Frontend zugreifen. Ich musste mich zweimal anmelden , um zum Dashboard zu gelangen, da bei der erstmaligen Eingabe der Details nur eine Aktualisierung durchgeführt wurde und die von Ihnen als Endlosschleife erwähnte Seite wieder aufgerufen wurde.quelle
Öffnen Sie Ihren phpMyAdmin von Ihrem Host aus und versuchen Sie es einmal mit diesem SQL-Befehl.
Führen Sie diese SQL aus:
Jetzt kann sich der Administrator anmelden.
Bitte befolgen Sie diese:
Die Admin-Seite zeigt 404 nicht gefundene Seiten
quelle
Ich hatte das gleiche Problem und löste es, indem ich alle Dateien in / var / session löschte. Ich denke, es ist zu viele Sitzung in Magento!
quelle
Die Alarmsturmliste ist korrekt und detailliert. Hier sind einige zusätzliche Fälle.
var/session
auf dem Hostcomputer(Montageprobleme)
n98-magerun.phar sys:check
(behebt Probleme, einschließlich Cookie-Domain)Ändern Sie die Sitzung in die Datenbank, indem Sie local.xml bearbeiten. Durch die Verwendung von Insidie werden die meisten Berechtigungsprobleme ausgeschlossen
<global>
Auch von Erweiterungen von Drittanbietern variieren werden (Firewall / Sicherheitserweiterungen) zum Beispiel https://github.com/paimpozhil/MageFirewall/blob/master/app/code/community/MageFirewall/Firewall/Model/Observer.php#L53 bringt Sie auf der schwarzen Liste, wenn Sie zu oft versuchen.
Kann vorkommen, wenn Ihre Sitzung ursprünglich nicht für Berechtigungsprobleme geeignet ist, aber auch nach dem Beheben des ursprünglichen Problems weiterhin fehlschlägt
Behalten Sie in Ihrem speziellen Fall das
admin_session_user_login_success
Ereignis im Auge , da die meisten Sicherheits- / Firewall-Module dieses Ereignis verwenden. Achten Sie besonders darauf, wenn die Variable$_SESSION['admin']
von Beobachtern zurückgesetzt wirdquelle
Es ist auch wichtig, dass Sie einen Formularschlüssel haben, sonst wird Ihr Formular nicht verarbeitet.
quelle
Eine einfache Lösung für dieses Problem ist die Verwendung von http://127.0.0.1 als Hostname anstelle von localhost.
Da das Problem darin besteht, dass Sie sich nicht bei Ihrem Administrator anmelden können, sollten Sie die sicheren und unsicheren Basis-URLs in der Datenbanktabelle ändern: core_config_data
Hierdurch wird auch Ihr Baseurl mit dem sys: check von n98-magerun validiert
quelle
Wenn Sie am entwickeln
localhost
und Ihren Domänennamen auf festgelegt oder geändert habenlocalhost
, aktualisieren Sie stattdessen diecore_config_data
Domänennamen der Datenbanktabelle auf127.0.0.1
. Z.BUPDATE core_config_data SET value="http://127.0.0.1/magento/" WHERE path="web/unsecure/base_url";
quelle
Sie können auch das Kennwort in der Datenbank aktualisieren, wenn alles andere von oben nicht funktioniert hat und Sie verzweifelten Zugriff benötigen:
Ersetzen Sie Benutzer- und Kennwortwörter entsprechend Ihren Anforderungen.
quelle
Versuchen Sie zunächst, Ihren Cache zu leeren, und wenn dies nicht funktioniert, versuchen Sie, chmod 700 in Ihrem var-Ordner zu erstellen.
quelle
Sie können Ihren Browser ändern, möglicherweise funktioniert dies für mich. Wenn dieser Fehler auftritt, habe ich das Browser-Chrome in Firefox geändert und es funktioniert.
quelle
Das gleiche passierte vor einiger Zeit mit mir und mein Problem kam von der Sitzung. Ich hatte nicht genügend Speicherplatz auf der Festplatte , um die Sitzungen zu erstellen und den Cache zu speichern
var/
. Ich habe ein paar Sachen entfernt und alles hat danach funktioniert. Vielleicht hilft es jemandem.Prost
quelle
Versuchen Sie, Ihren Cache zu leeren, indem Sie die Ordner "var / cache" und "var / session" leeren. Dies hat es für mich gelöst.
Ich musste auch den Webserver danach einmal neu starten.
quelle