Le panneau d'administration de Magento 2 se bloque pour toujours jusqu'à l'actualisation de la page

13

Depuis que je travaille avec Magento 2, j'ai à plusieurs reprises ce problème ennuyeux:

  1. Je me connecte au panneau d'administration ou je change de page sur le panneau d'administration
  2. La page commence à se charger, apparaît parfois partiellement mais se bloque pour toujours (au moins pendant plusieurs minutes), parfois elle s'affiche complètement mais le navigateur indique toujours "chargement" et la navigation ne fonctionne pas, mais je ne vois pas d'échec ou de fonctionnement demandes dans la console du navigateur.
  3. Si j'appuie F5pendant qu'elle est suspendue, la page se charge presque instantanément (au moins la plupart du temps)

Il ne semble pas être lié à des événements, car j'obtiens ce comportement même sans avoir fait de changements dans le panneau d'administration, ni dans le code, juste en naviguant. Cependant, j'ai observé une corrélation possible avec des caches invalidés .

Une idée de ce qui pourrait causer ce problème? Je ne pense pas que ce soient les problèmes typiques avec les autorisations ou les cookies, car en général, le panneau d'administration fonctionne.

Magento fonctionne en mode développeur sous Linux.

Fabian Schmengler
la source
1
Vous avez exactement le même problème, je n'ai jamais pris le temps de demander, je suis content que vous l'ayez fait. Quelle version de PHP utilisez-vous? J'utilise quelque chose de 5.6 et je suis sûr que c'est lié. Beaucoup de gens m'ont entendu dire que M2 était incroyablement lent quand il n'exécutait pas PHP 7
Raphael at Digital Pianism
1
PHP 5.5, serait intéressant de savoir si quelqu'un a eu ce problème avec PHP 7
Fabian Schmengler
1
J'utilise PHP 7 et suis confronté au même problème
Reena Parekh
1
Alan Storm a suggéré ceci, peut-être lié peut-être pas: magento.stackexchange.com/questions/3720/…
Raphael au Digital Pianism
1
Vous avez un problème avec Magento 2.0.4 fonctionnant sur Vagrant (Ubuntu 14.04 / PHP 5.5.9 / MySQL 5.6.28) :(
Siarhey Uchukhlebau

Réponses:

3

MISE À JOUR

Il semble que la mise à jour de Firefox en 46 corrige le problème!

Enquêtes originales

Comme je suis également confronté à ce problème ennuyeux, j'ai décidé de l'essayer.

Configuration

  • Serveur Ubuntu 12.4
  • PHP 5.5.30
  • MySQL 5.6.27
  • Nouvelle installation de Magento 2.0.4 sans échantillon
  • Mode développeur avec cache désactivé

Répliquer le problème

À première vue, ce problème m'a paru totalement aléatoire. Cependant, après plusieurs tests, j'ai réussi à savoir exactement comment reproduire le problème.

Navigateur

Tout d'abord, je n'ai pas pu reproduire le problème sur Google Chrome, Internet Explorer 11 ni l'ancien Windows Safari 5.2.17. J'utilise principalement FireFox (45.0.2) et j'utilise rarement Google Chrome. Même après avoir trouvé exactement comment reproduire le problème, je n'ai pas pu répliquer sur Chrome.

Onglets

Vous devez avoir plusieurs onglets ouverts sur FireFox pour pouvoir répliquer le problème.

Pas

  1. Ouvrez le panneau d'administration et connectez-vous
  2. Une fois que vous êtes sur le tableau de bord, vous pouvez cliquer sur n'importe quel élément de menu. Je clique habituellement à nouveau sur l'icône du tableau de bord
  3. Dès que vous avez cliqué sur l'élément de menu, cliquez sur l'un de vos onglets ouverts et continuez à naviguer sur Internet pendant que vous attendez la fin du chargement de votre panneau d'administration (basé sur l'icône de rotation à côté du titre de l'onglet)
  4. Eh bien, malheureusement, vous n'aurez jamais cette page chargée.

Enquête

Il semble donc que lorsque le client n'est pas concentré sur l'onglet du panneau d'administration, Magento 2 ne semble pas charger toutes les ressources pour que le site Web se charge entièrement .

Ce que j'ai remarqué, quand je suis revenu à la page du panneau d'administration de chargement infini, c'est qu'il y avait beaucoup de ressources qui ont été chargées avec succès.

Comme l'a dit Fabian, aucune erreur dans la console, aucune ressource en cours de chargement et aucune ressource qui n'a pas pu se charger. Tout ressemblait au chargement de la page.

Cependant, lorsque j'ai cliqué sur le bouton d'arrêt du chargement de Firefox (le X dans la barre d'URL), j'ai remarqué que plusieurs ressources ont été ajoutées dans l'onglet réseau qui n'étaient pas là lorsque la page était dans l'état de chargement infini

S'IL VOUS PLAÎT NOTE: la capture d'écran ci-dessous est uniquement pour le tableau de bord, j'ai remarqué que plus de ressources ont été chargées après avoir cliqué sur le bouton d'arrêt du chargement sur les pages de configuration par exemple.

entrez la description de l'image ici

Donc, pour la page Dashboard, ces ressources ont été ajoutées après avoir cliqué sur le bouton Arrêter le chargement.

Lorsque la page est chargée normalement, en ne passant pas à un autre onglet, les ressources suivantes sont chargées après le chargement DOM (je suppose via AJAX), vous pouvez remarquer la ligne grise plus épaisse entre celles-ci et les ressources ci-dessus:

entrez la description de l'image ici

Ainsi, pour une raison quelconque, les ressources suivantes sont automatiquement chargées lorsque la page est dans l'état de chargement infini mais sont chargées après le chargement DOM lorsque la page se charge correctement:

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

C'est à quel point je suis arrivé dans ma tâche de débogage, je pense qu'il y a encore beaucoup à faire pour tester et affiner le problème mais je n'ai pas eu le temps de faire plus de tests, j'y reviendrai quand j'en aurai le temps.

Enquêtes supplémentaires

J'ai donc fini par installer le plugin HTTPFox sur mon FireFox.

Voici ce que j'ai obtenu lorsque j'ai cliqué sur le bouton d'arrêt du chargement après 1 minute de chargement (vous pouvez voir qu'il y jquery.storageapi.min.jsa 59 secondes dans la colonne de temps). Les lignes en surbrillance sont les ressources qui se sont chargées après avoir arrêté le chargement:

entrez la description de l'image ici

J'ai essayé de mettre à jour la bibliothèque jquery.storageapi avec la dernière version disponible sur GitHub mais cela ne semble malheureusement pas résoudre le problème.

Comme le chargement du favicon était le suivant sur la liste, j'ai commenté le code ajoutant le favicon à la tête, mais cela n'a pas résolu le problème non plus.

J'ai essayé de déboguer le domReady.jsfichier car son nom semble être la faute, mais aucune chance.

Voici également les deux access.logfichiers:

Je n'arrive toujours pas à comprendre ce qui se passe ici.

Mise à jour

J'ai récemment apporté deux modifications à mon installation:

  • mettre à niveau FireFox vers 46.0
  • mise à niveau de 2.0.4 vers 2.0.5

Maintenant, je ne peux plus reproduire le problème.

Raphael chez Digital Pianism
la source
1
Avez-vous essayé de voir s'il existe un verrouillage des fichiers de session en raison de ces appels ajax en arrière-plan? Certains fichiers js utilisent des données d'appels ajax et stockent des informations dans les cookies à ce sujet et inversent. codingexplained.com/coding/php/… J'ai Redis et Memcache dans dev env et le problème semble avoir disparu.
obscur
@obscure merci pour votre contribution, je vérifierai cela demain, mais j'en doute fortement car cela fonctionne lorsque je reste sur l'onglet admin et non lorsque je navigue sur un autre onglet non Magento pendant le chargement
Raphael au Digital Pianism
Il semble que la mise à jour de Firefox jusqu'à la version 46 aide et qu'elle n'est pas connectée à la version magento. Pourriez-vous, s'il vous plaît, ajouter cette solution en haut de votre réponse afin qu'elle soit visible immédiatement.
Siarhey Uchukhlebau
@SiarheyUchukhlebau done;)
Raphael at Digital Pianism
1
Quoi qu'il en soit, dans les navigateurs actuels et avec les nouvelles versions de Magento, cela ne se produit plus, je vais donc le marquer comme accepté. Merci encore pour vos investigations.
Fabian Schmengler
0

Je rencontre actuellement ce problème exact sur M2.1.2 exécutant php 7 sur un serveur NGINX hébergé (2 cœurs, 2 Go de RAM), et j'utilise Chrome (54.0.2840.71 m (64 bits)).

Je n'ai fait aucun test pour trouver la source du problème, mais comme il s'agissait d'une nouvelle configuration de serveur, je supposais à l'origine qu'il s'agissait de mon serveur. Maintenant ... pas si sûr.

Maintenant, je dois mentionner que j'utilise actuellement le mode développeur et que je n'ai PAS encore compilé mon code. Donc ça pourrait être juste ça.

Spyrule
la source
0

en quelque sorte lié lorsque je mets à jour un produit et que je change Firefox pour un nouvel onglet pour naviguer et que la page magento perd le focus, il reste en veille jusqu'à revenir à la page magento et finaliser la mise à jour de ce produit, c'est une sorte de truc ... J'ouvre 3-4 produits et je veux travailler sur d'autres produits jusqu'à ce que la mise à jour soit terminée. connaissez-vous une solution à ces problèmes?

Dan
la source