Zainstalowałem Magento 1.9 . Przez tydzień działało dobrze. Nagle wczoraj, kiedy próbowałem zalogować się do panelu administracyjnego Magento i napisałem username
i password
kliknąłem przycisk Zaloguj i nic się nie stało. Strona odświeża się i to wszystko. Bez błędów i innych komunikatów.
Jeśli podałem nieprawidłową nazwę użytkownika lub hasło, pokazuje błąd.
Po przejrzeniu Google'a na ten temat zalecono mi skomentowanie następujących wierszy w:
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
I dla niektórych starszych wersji poniżej został zalecony w tym samym pliku.
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
//'domain' => $cookie->getConfigDomain()
//'secure' => $cookie->isSecure(),
//'httponly' => $cookie->getHttponly()
);
}*/
Nawet po tym nie mogłem zalogować się do administratora. Tak jest. Ktoś napotkał ten problem? Czy istnieje inne rozwiązanie tego problemu?
(Próbowałem wyczyścić pamięć podręczną i sesję przez ftp).
źródło
app/code/local/Mage/Core..blahblah
edycji, aby Magento przesłaniało plik podstawowy. Użyj także git do kontroli wersji, to dar niebios.Odpowiedzi:
Przestań modyfikować kod podstawowy w ten sposób - może tymczasowo rozwiązać problem, ale może stworzyć przyszłe problemy, których znalezienie będzie prawie niemożliwe.
Istnieje wiele różnych problemów, które powodują bezbłędne zachowanie logowania administratora, ale wszystkie one wracają do Magento, ponieważ nie mogą ustawić ani odczytać pliku cookie sesji. Magento używa sesji do przekazywania komunikatów o błędach między stronami - dlatego nie pojawia się komunikat o błędzie. Magento używa również sesji do przechowywania wartości „jest zalogowany”, więc brak ustawienia sesji powoduje również zachowanie podstawowego błędu.
Możliwe przyczyny to
Niezgodność czasu lokalnego komputera z czasem serwera, powodując natychmiastowe unieważnienie pliku cookie. Upewnij się, że czas na serwerze jest prawidłowy.
Nieprawidłowe uprawnienia
var/session
, uniemożliwiające zapisywanie plików sesjiNiepoprawna konfiguracja bazy danych / redis / innej pamięci sesji, uniemożliwiająca zapisanie wartości sesji
Moduł tworzy sesje zbyt wcześnie , zapobiegając ustawianiu prawidłowych nazw sesji
Jesteś programistą używającym wielu adresów URL i posiadasz wiele domen plików cookie
Inny programista jakoś zmodyfikował
app\code\core\Mage\Core\Model\Session\Abstract\Varien.php
, tworząc trudny do wyśledzenia błądDomena cookie w
System -> Configuration -> Web -> Session Cookie Management
nie pasuje do rzeczywistej domeny witryny.Używasz
localhost
domeny jako domeny serwera i używasz wersji pakietu, który ma problemy z ustawieniem plików cookielocalhost
w niektórych sytuacjach.Krótkoterminową poprawką jest po prostu usunięcie pliku cookie dla domeny. To często wystarcza, aby rozwiązać problem. Jeśli problem będzie się powtarzał, dowiedz się, który z powyższych powodów jest przyczyną błędu, i podejmij kroki w celu jego rozwiązania (napraw uprawnienia itp.)
źródło
Mam te same objawy na niektórych instalacjach Magento (nie tylko 1.9). W moim przypadku dzieje się tak tylko w Chrome. Naprawiam to, logując się w przeglądarce Firefox / Safari / Opera i zmieniając opcję „Używaj tylko HTTP” na „Nie” w „Zarządzaniu plikami cookie sesji” w ustawieniach „WWW”.
źródło
Use HTTP only
sięNo
bez dostępu do panelu administracyjnego. Możesz uruchomić bezpośrednio to zapytanie SQL: UPDATE__DATABASE_NAME__
.core_config_data
SETvalue
= „0” GDZIEcore_config_data
.path
= 'web / cookie / cookie_httponly';Też miałem ten problem. Okazało się, że nie można zapisać sesji
var/session
, nawet jeśli sam katalog jest ustawiony na0777
. Magento utworzyło pliki sesji, ale wszystkie pozostały zero bajtów.Zmiana pamięci sesji z
files
nadb
rozwiązała dla mnie problem.źródło
Skomentuj to w ten sposób:
/*error_reporting(E_ALL | E_STRICT);*/
I zamiast tego użyj następującego kodu:
error_reporting(E_ALL);
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
Odznacz to, usuwając znak #, więc wygląda to tak:
ini_set('display_errors', 1);
Zapisz ten plik i prześlij na serwer. Załaduj stronę ponownie, aby zobaczyć błędy.
źródło
Inna możliwa przyczyna: dysk twardy / wolumin / przydział jest pełny, więc danych sesji nie można zapisać na dysku. Może się to wydawać mało prawdopodobne, ale zdarzyło mi się to po raz drugi i zajęło mi to trochę czasu.
Nie mam wystarczającej reputacji, aby komentować, ale @Alan Storm, może chcesz wziąć to na swoją doskonałą listę.
źródło
Ostatnio miałem ten sam problem i zadziałała dla mnie prosta sztuczka. Dotyczy to również osób, które nie mają dostępu do pulpitu nawigacyjnego w Google Chrome . Jeśli możesz pracować w przeglądarce Mozilla Firefox, zrób to, ponieważ myślę, że ten problem nie występuje w Firefoksie Mozilla.
Tak więc rozwiązaniem dla chromu jest:
Idź do System-> Konfiguracja-> Internet . Rozwiń kartę Niezabezpieczone i bezpieczne . Zmień podstawowy adres URL na,
http://127.0.0.1/[Your folder name]
jeśli używasz localhost lub zmień go na adres URL witryny, przez który uzyskujesz dostęp do interfejsu. Musiałem zalogować się dwa razy, aby dostać się do deski rozdzielczej, ponieważ kiedy wprowadziłem dane po raz pierwszy, odświeża się i wraca do tej samej strony, o której mówiłeś, że jest zapętlona.źródło
Otwórz phpMyAdmin na swoim hoście spróbuj raz tego polecenia SQL.
Uruchom ten SQL:
Teraz administrator może się zalogować.
Postępuj zgodnie z tym:
Strona administratora pokazuje 404 strony nie znalezione
źródło
Miałem ten sam problem i rozwiązałem go, usuwając wszystkie pliki w / var / session. Myślę, że to dlatego, że zbyt wiele sesji w Magento!
źródło
Lista burz alarmowych jest poprawna i szczegółowa. Oto kilka dodatkowych przypadków.
var/session
na komputerze hosta(problemy z montażem)
n98-magerun.phar sys:check
(wykrywa problemy, w tym domenę plików cookie)Zmień sesję na bazę danych, edytując plik local.xml. Wykluczy to większość problemów związanych z uprawnieniami przy użyciu insidie
<global>
Również zmieniać rozszerzeń stron trzecich (rozszerzenia firewall / bezpieczeństwa), na przykład https://github.com/paimpozhil/MageFirewall/blob/master/app/code/community/MageFirewall/Firewall/Model/Observer.php#L53 daje na czarnej liście, jeśli spróbujesz zbyt wiele razy.
Może się to zdarzyć, jeśli twoja sesja początkowo nie działa w przypadku problemów z uprawnieniami, ale nadal nie powiedzie się, nawet po naprawieniu pierwotnego problemu
W twoim szczególnym przypadku miej oko na
admin_session_user_login_success
zdarzenie, ponieważ większość modułów bezpieczeństwa / zapory sieciowej używa tego zdarzenia. Szczególnie uważaj, jeśli zmienna$_SESSION['admin']
jest resetowana przez obserwatorówźródło
Ważne jest również, aby mieć obecny klucz formularza, w przeciwnym razie formularz nie zostanie przetworzony.
źródło
Prostym rozwiązaniem tego problemu jest użycie http://127.0.0.1 jako nazwy hosta zamiast localhost.
Ponieważ problem polega na tym, że nie możesz zalogować się do administratora, powinieneś zmienić bezpieczne i niezabezpieczone podstawowe adresy URL w bazie danych tabel: core_config_data
Spowoduje to również sprawdzenie twojego baseurl w sys n98-magerun: check
źródło
Jeśli rozwijasz się
localhost
i ustawiłeś lub zmieniłeś nazwę domeny nalocalhost
, zaktualizujcore_config_data
nazwy domenowe tabeli bazy danych na127.0.0.1
. Na przykładUPDATE core_config_data SET value="http://127.0.0.1/magento/" WHERE path="web/unsecure/base_url";
źródło
Możesz także zaktualizować hasło do bazy danych, jeśli wszystko inne z powyższego nie działało i potrzebujesz desperackiego dostępu:
zamień słowa użytkownika i hasła zgodnie z własnymi potrzebami.
źródło
Przede wszystkim spróbuj wyczyścić pamięć podręczną, myślę, a jeśli to nie zadziała, spróbuj zrobić chmod 700 w folderze var.
źródło
Możesz zmienić swoją przeglądarkę, może to dla mnie ta praca. Gdy pojawia się ten błąd, zmieniłem chrome przeglądarki na Firefox i działa.
źródło
To samo stało się ze mną jakiś czas temu i mój problem pochodzi z sesji. Nie miałem wystarczającej ilości miejsca na DYSKU, aby utworzyć sesje i pamięć podręczną
var/
. Usunąłem trochę rzeczy i wszystko działało później. Może to komuś pomoże.Twoje zdrowie
źródło
Spróbuj wyczyścić pamięć podręczną, opróżniając folder „var / cache” i „var / session”, to dla mnie rozwiązało.
Musiałem też raz ponownie uruchomić serwer.
źródło