Od czasu pracy z Magento 2 wielokrotnie mam ten irytujący problem:
- Loguję się do panelu administracyjnego lub przełączam się na inną stronę w panelu administracyjnym
- Strona zaczyna się ładować, czasami wyświetla się częściowo, ale potem zawiesza się na zawsze (przynajmniej przez kilka minut), czasami wyświetla się całkowicie, ale przeglądarka nadal wskazuje „ładowanie”, a nawigacja nie działa, ale nie widzę awarii lub działania żądania w konsoli przeglądarki.
- Jeśli naciśniesz, F5gdy jest zawieszony, strona ładuje się niemal natychmiast (przynajmniej przez większość czasu)
Wydaje się, że nie ma to związku z żadnymi zdarzeniami, ponieważ takie zachowanie występuje nawet bez wprowadzania zmian w panelu administracyjnym ani w kodzie, tylko nawigacja. Zauważyłem jednak możliwą korelację z unieważnionymi pamięciami podręcznymi .
Masz pojęcie, co może powodować ten problem? Nie wierzę, że są to typowe problemy z uprawnieniami lub plikami cookie, ponieważ ogólnie mówiąc panel administracyjny działa.
Magento działa w trybie programisty w systemie Linux.
magento2
admin-panel
magento-2.0.2
Fabian Schmengler
źródło
źródło
Odpowiedzi:
AKTUALIZACJA
Wygląda na to, że aktualizacja Firefoksa do 46 rozwiązuje problem!
Oryginalne dochodzenia
Ponieważ mam również do czynienia z tym irytującym problemem, postanowiłem spróbować.
Konfiguracja
Replikowanie problemu
Na pierwszy rzut oka problem ten wydawał mi się zupełnie przypadkowy. Jednak po kilku testach udało mi się dowiedzieć dokładnie, jak odtworzyć problem.
Przeglądarka
Po pierwsze, nie byłem w stanie odtworzyć problemu w Google Chrome, Internet Explorer 11 ani w starym Windows Safari 5.2.17. Używam głównie FireFox (45.0.2) i rzadko używam Google Chrome. Nawet po tym, jak dokładnie znalazłem sposób na odtworzenie problemu, nie byłem w stanie powielić się w Chrome.
Zakładki
Musisz mieć kilka kart otwartych w FireFox, aby móc replikować problem.
Kroki
Dochodzenie
Wygląda więc na to, że gdy klient nie jest skoncentrowany na karcie panelu administracyjnego, Magento 2 wydaje się nie ładować wszystkich zasobów, aby witryna mogła się całkowicie załadować .
Zauważyłem, kiedy wróciłem do nieskończonej strony ładowania panelu administracyjnego, że udało się załadować wiele zasobów.
Jak powiedział Fabian, brak błędów w konsoli, brak ładowania zasobów i brak ładowania zasobów. Wszystko wyglądało tak, jakby strona została załadowana.
Jednak po kliknięciu przycisku zatrzymania ładowania przeglądarki Firefox (X na pasku adresu URL) zauważyłem, że na karcie sieci dodano kilka zasobów, których nie było, gdy strona była w stanie nieskończonego ładowania
UWAGA: zrzut ekranu poniżej dotyczy tylko deski rozdzielczej. Zauważyłem, że więcej zasobów zostało załadowanych po kliknięciu na przykład przycisku zatrzymania ładowania na stronach konfiguracji.
Tak więc dla strony Dashboard zasoby te zostały dodane po kliknięciu przycisku zatrzymaj ładowanie.
Gdy strona jest ładowana normalnie, nie przełączając się na inną kartę, po wczytaniu DOM ładowane są następujące zasoby (zakładam przez AJAX), możesz zauważyć grubszą szarą linię między nimi a zasobami powyżej:
Z jakiegoś powodu następujące zasoby są ładowane automatycznie, gdy strona znajduje się w nieskończonym stanie ładowania, ale są ładowane po załadowaniu DOM, gdy strona ładuje się dobrze:
/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-popup.html
/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-slide.html
/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-custom.html
/static/adminhtml/Magento/backend/en_US/mage/apply/scripts.js
Tak daleko sięgnąłem do zadania debugowania. Myślę, że jest jeszcze wiele do zrobienia, aby przetestować i zawęzić problem, ale nie miałem czasu na więcej testów, wrócę do niego, gdy będę miał czas.
Dalsze dochodzenia
Skończyłem instalowanie wtyczki HTTPFox na moim FireFoxie.
Oto, co dostałem, kiedy kliknąłem przycisk zatrzymania ładowania po 1min ładowania (widać, że
jquery.storageapi.min.js
w kolumnie czasu jest 59 sekund). Podświetlone wiersze to zasoby, które zostały załadowane po zatrzymaniu ładowania:Próbowałem zaktualizować bibliotekę jquery.storageapi do najnowszej wersji dostępnej na GitHub, ale niestety nie wydaje się to rozwiązać problemu.
Ponieważ ładowanie favikonu było następne na liście, skomentowałem kod dodając favicon do głowy, ale nie rozwiązało to również problemu.
Próbowałem debugować
domReady.js
plik, ponieważ jego nazwa brzmi, jakby to mogła być wina, ale nie ma szans.Również tutaj są dwa
access.log
pliki:Nadal nie mogę zrozumieć, co się tutaj dzieje.
Aktualizacja
Niedawno wprowadziłem dwie zmiany w mojej instalacji:
Teraz nie mogę już powtórzyć problemu.
źródło
Właśnie ten problem występuje na M2.1.2 z uruchomionym php 7 na hostowanym serwerze NGINX (2 rdzenie, 2 GB pamięci RAM) i używam Chrome (54.0.2840.71 m (64-bit)).
Nie przeprowadziłem żadnych testów, aby znaleźć źródło problemu, ale ponieważ była to nowa konfiguracja serwera, pierwotnie zakładałem, że to mój serwer. Teraz ... nie jestem tego taki pewien.
Teraz powinienem wspomnieć, że obecnie pracuję w trybie programisty i NIE skompilowałem jeszcze mojego kodu. Więc może tak być.
źródło
w jakiś sposób powiązane, gdy aktualizuję produkt i zmieniam Firefoksa na nową kartę, aby nawigować i strona Magento straciła ostrość, pozostaje w gotowości do powrotu do strony Magento, a następnie sfinalizowania aktualizacji tego produktu, jest to coś w rodzaju niepokoju ... ponieważ otwieram 3-4 produkty i chcę pracować nad innymi produktami, dopóki nie zakończę aktualizacji. znasz rozwiązanie tego problemu?
źródło