Il pannello di amministrazione di Magento 2 si blocca per sempre fino all'aggiornamento della pagina


13

Da quando lavoro con Magento 2, ho ripetutamente riscontrato questo fastidioso problema:

  1. Accedo al pannello di amministrazione o passo a un'altra pagina all'interno del pannello di amministrazione
  2. Il caricamento della pagina inizia, a volte viene visualizzato parzialmente ma si blocca per sempre (almeno per diversi minuti), a volte viene visualizzato completamente ma il browser indica ancora "caricamento" e la navigazione non funziona, ma non vedo errori o in esecuzione richieste nella console del browser.
  3. Se premo F5mentre è sospeso, la pagina si carica quasi istantaneamente (almeno la maggior parte delle volte)

Non sembra essere correlato ad alcun evento, perché ottengo questo comportamento anche senza aver apportato alcuna modifica nel pannello di amministrazione, né nel codice, solo navigando. Tuttavia, ho osservato una possibile correlazione con cache non valide .

Qualche idea su cosa potrebbe causare questo problema? Non credo che siano i problemi tipici con autorizzazioni o cookie perché in generale il pannello di amministrazione funziona.

Magento è in esecuzione in modalità sviluppatore su Linux.


1
Ho lo stesso identico problema, non ho mai avuto il tempo di chiedere, sono contento che tu l'abbia fatto. Quale versione di PHP stai utilizzando? Sto eseguendo 5.6.qualcosa e sono abbastanza sicuro che sia correlato. Ho sentito molte persone che mi hanno detto che M2 era incredibilmente lento quando non eseguiva PHP 7
Raphael al Digital Pianism

1
PHP 5.5, sarebbe interessante sapere se qualcuno avesse questo problema con PHP 7
Fabian Schmengler,

1
Sto usando PHP 7 e sto affrontando lo stesso problema
Reena Parekh,

1
Alan Storm ha suggerito questo, forse in relazione forse no: magento.stackexchange.com/questions/3720/…
Raffaello al Pianismo digitale,

1
Ho avuto qualche problema con Magento 2.0.4 in esecuzione su Vagrant (Ubuntu 14.04 / PHP 5.5.9 / MySQL 5.6.28) :(
Siarhey Uchukhlebau,

Risposte:


3

AGGIORNARE

Sembra che l'aggiornamento di Firefox a 46 risolva il problema!

Indagini originali

Dato che sto affrontando anche questo fastidioso problema, ho deciso di provarlo.

Configurazione

  • Ubuntu Server 12.4
  • PHP 5.5.30
  • MySQL 5.6.27
  • Magento 2.0.4 nuova installazione senza campione
  • Modalità sviluppatore con cache disabilitata

Replica del problema

A prima vista, questo problema mi è sembrato del tutto casuale. Tuttavia, dopo diversi test, sono riuscito a scoprire esattamente come replicare il problema.

Browser

Innanzitutto, non sono stato in grado di replicare il problema su Google Chrome, Internet Explorer 11 né sul vecchio Windows Safari 5.2.17. Uso principalmente FireFox (45.0.2) e uso raramente Google Chrome. Anche dopo aver scoperto esattamente come replicare il problema, non sono stato in grado di replicare su Chrome.

Tabs

Devi avere diverse schede aperte su FireFox per poter replicare il problema.

passi

  1. Apri il pannello di amministrazione e accedi
  2. Una volta che sei nella dashboard puoi fare clic su qualsiasi voce di menu. Di solito faccio di nuovo clic sull'icona del dashboard
  3. Non appena si fa clic sulla voce di menu, fare clic su una delle schede aperte e continuare a navigare in Internet mentre si attende che il pannello di amministrazione termini il caricamento (in base all'icona che gira accanto al titolo della scheda)
  4. Beh, sfortunatamente non avrai mai caricato quella pagina.

Indagine

Quindi sembra che quando il client non è focalizzato sulla scheda del Pannello di amministrazione, Magento 2 sembra non caricare tutte le risorse affinché il sito Web si carichi completamente .

Quello che ho notato, quando sono tornato alla pagina del pannello di amministrazione di caricamento infinito è che c'erano molte risorse che sono state caricate con successo.

Come ha detto Fabian, nessun errore nella console, nessuna risorsa è ancora in fase di caricamento e nessuna risorsa che non è stata caricata. Sembrava che il caricamento della pagina fosse completo.

Tuttavia, quando ho fatto clic sul pulsante Interrompi caricamento di Firefox (la X nella barra degli URL), ho notato che nella scheda di rete sono state aggiunte diverse risorse che non erano presenti quando la pagina si trovava nello stato di caricamento infinito

NOTA BENE: lo screenshot seguente è solo per la dashboard, ho notato che sono state caricate più risorse dopo aver fatto clic sul pulsante di interruzione del caricamento nelle pagine di configurazione, ad esempio.

inserisci qui la descrizione dell'immagine

Quindi, per la pagina Dashboard, queste risorse sono state aggiunte dopo che ho fatto clic sul pulsante Interrompi caricamento.

Quando la pagina viene caricata normalmente, non passando a un'altra scheda, le seguenti risorse vengono caricate dopo il caricamento del DOM (presumo tramite AJAX), è possibile notare la linea grigia più spessa tra quelle e le risorse sopra:

inserisci qui la descrizione dell'immagine

Pertanto, per qualche motivo, le seguenti risorse vengono caricate automaticamente quando la pagina si trova nello stato di caricamento infinito, ma vengono caricate dopo il caricamento DOM quando la pagina viene caricata correttamente:

  • /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

È quanto mi sono avvicinato al mio compito di debug, penso che ci sia ancora molto che possiamo fare per testare e restringere il problema, ma non ho avuto il tempo di fare altri test, tornerò su di esso quando avrò tempo.

Ulteriori indagini

Così ho finito per installare il plugin HTTPFox sul mio FireFox.

Ecco cosa ho ottenuto facendo clic sul pulsante Interrompi caricamento dopo 1 minuto di caricamento (puoi vedere che jquery.storageapi.min.jsha 59 secondi nella colonna del tempo). Le righe evidenziate sono le risorse che sono state caricate dopo che ho interrotto il caricamento:

inserisci qui la descrizione dell'immagine

Ho provato ad aggiornare la libreria jquery.storageapi con l'ultima versione disponibile su GitHub ma purtroppo non sembra risolvere il problema.

Dato che il caricamento di favicon era il prossimo nella lista, ho commentato il codice aggiungendo il favicon alla testa ma non ha risolto il problema.

Ho provato a eseguire il debug del domReady.jsfile poiché il suo nome sembra che potrebbe essere colpa ma nessuna possibilità.

Anche qui ci sono i due access.logfile:

Non riesco ancora a capire cosa sta succedendo qui.

Aggiornare

Di recente ho apportato due modifiche alla mia installazione:

  • aggiorna FireFox alla 46.0
  • aggiornamento da 2.0.4 a 2.0.5

Ora non riesco più a replicare il problema.


1
Hai provato a vedere se esiste la concorrenza dei file di sessione bloccati a causa di quelle chiamate ajax in background? Alcuni file js utilizzano i dati delle chiamate Ajax e memorizzano informazioni nei cookie su di esso e viceversa. codingexplained.com/coding/php/… Ho Redis e Memcache in sviluppo e il problema sembra essere andato.
oscuro

@obscure grazie per il tuo contributo Lo controllerò domani, ma ne dubito fortemente perché funziona quando rimango nella scheda di amministrazione e non quando
sfoglio

Sembra che l'aggiornamento di Firefox fino alla versione 46 sia di aiuto e non sia collegato alla versione di Magento. Potresti, per favore, aggiungere questa soluzione nella parte superiore della tua risposta in modo che sia visibile immediatamente.
Siarhey Uchukhlebau,

@SiarheyUchukhlebau done;)
Raffaello al Pianismo digitale

1
Qualunque cosa fosse, negli attuali browser e con le versioni più recenti di Magento non succede più, quindi lo segnerò come accettato. Grazie ancora per le tue indagini.
Fabian Schmengler,

0

Attualmente sto riscontrando questo esatto problema su M2.1.2 con php 7 su un server NGINX ospitato (2 core, 2 GB di RAM) e utilizzo Chrome (54.0.2840.71 m (64 bit)).

Non ho fatto alcun test per trovare l'origine del problema, ma poiché si trattava di una nuova configurazione del server, inizialmente pensavo fosse il mio server. Ora ... non sono così sicuro.

Ora, dovrei menzionare che sto attualmente eseguendo la modalità sviluppatore e NON ho ancora compilato il mio codice. Quindi potrebbe essere proprio quello.


0

in qualche modo correlato quando aggiorno un prodotto e cambio firefox in una nuova scheda per navigare e la pagina magento ha perso il focus, rimane in standby fino a tornare alla pagina magento e quindi finalizza l'aggiornamento di quel prodotto, queste sono cose fastidiose ... perché apro 3-4 prodotti e desidero lavorare su altri prodotti fino a quando non eseguo un aggiornamento finale. conosci una soluzione per questi problemi?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.