Magento 2管理面板将永久挂起,直到页面刷新


13

自从与Magento 2合作以来,我反复遇到这个烦人的问题:

  1. 我登录到管理面板或切换到管理面板中的其他页面
  2. 该页面开始加载,有时会部分显示,但随后会永远挂起(至少几分钟),有时会完全显示,但浏览器仍然显示“正在加载”,并且导航无法正常工作,但我看不到失败或正在运行浏览器控制台中的请求。
  3. 如果F5在挂起时按下,则页面几乎立即加载(至少在大多数情况下)

它似乎与任何事件都没有关系,因为即使没有在管理面板或代码中进行任何更改,我也只是在导航时得到了此行为。但是,我观察到了与无效缓存的可能关联

任何想法可能导致此问题吗?我不认为这是权限或Cookie的典型问题,因为通常来说,管理面板是有效的。

Magento在Linux上以开发人员模式运行。


1
遇到了完全相同的问题,从来没有花时间问,我很高兴你做到了。您正在运行哪个PHP版本?我正在运行5.6.something,我很确定它是相关的。听到很多人告诉我,当不运行PHP 7时,M2的速度
越来越

1
PHP 5.5,很想知道是否有人在PHP 7中遇到了这个问题
Fabian Schmengler

1
我正在使用PHP 7并遇到相同的问题
Reena Parekh

1
艾伦风暴提出这一点,也许可能与未:magento.stackexchange.com/questions/3720/...
在数码钢琴艺术拉斐尔

1
在Vagrant(Ubuntu 14.04 / PHP 5.5.9 / MySQL 5.6.28)上运行的Magento 2.0.4遇到了一些问题:(
Siarhey Uchukhlebau

Answers:


3

更新

似乎将Firefox更新到46可解决此问题!

原始调查

由于我也面临这个烦人的问题,因此我决定尝试一下。

组态

  • Ubuntu Server 12.4
  • PHP 5.5.30
  • MySQL 5.6.27
  • Magento 2.0.4全新安装,无示例
  • 禁用缓存的开发人员模式

复制问题

乍一看,这个问题在我看来是完全随机的。但是,经过几次测试,我设法找到了确切的方法来复制问题。

浏览器

首先,我无法在Google Chrome,Internet Explorer 11或旧版Windows Safari 5.2.17上复制该问题。我主要使用FireFox(45.0.2),很少使用Google Chrome。即使我找到了确切的问题重现方法,也无法在Chrome上重现。

标签

您需要在FireFox上打开几个选项卡才能复制该问题。

脚步

  1. 打开管理面板并登录
  2. 进入仪表板后,您可以单击任何菜单项。我通常会再次点击仪表板图标
  3. 单击菜单项后,单击一个打开的选项卡,并在等待管理面板完成加载时继续浏览Internet(基于选项卡标题旁边的旋转图标)
  4. 不幸的是,您永远不会加载该页面。

调查中

因此,当客户端未将注意力集中在“管理面板”的选项卡上时,Magento 2似乎并未加载所有资源以使网站完全加载

我注意到,回到无限加载管理面板页面时,发现有很多资源已成功加载。

正如Fabian所说,控制台中没有错误,没有资源仍在加载,没有资源未能加载。一切似乎页面已完成加载。

但是,当我单击Firefox的“停止加载”按钮(URL栏中的X)时,我注意到在网络选项卡中添加了多个资源,这些资源在页面处于无限加载状态时不在此处。

请注意:以下屏幕截图仅用于仪表板,例如,在单击配置页面上的“停止加载”按钮后,我注意到已加载了更多资源。

在此处输入图片说明

因此,对于“仪表板”页面,这些资源是在我单击“停止加载”按钮后添加的。

当页面正常加载时,通过不切换到其他选项卡,在DOM加载后加载了以下资源(我通过AJAX进行了假设),您会注意到这些资源和上面的资源之间的粗线是灰色的:

在此处输入图片说明

因此,出于某种原因,当页面处于无限加载状态时,将自动加载以下资源,但是当页面加载正常时,将在DOM加载后加载以下资源:

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

这就是我完成调试任务的程度,我认为仍然可以做很多工作来测试和缩小问题范围,但是我没有时间进行更多测试,我将在有时间的时候再进行讨论。

进一步调查

因此,我最终在FireFox上安装了HTTPFox插件。

这是加载1分钟后单击“停止加载”按钮时得到的结果(您可以jquery.storageapi.min.js在时间列中看到59s)。高亮显示的行是我停止加载后加载的资源:

在此处输入图片说明

我尝试使用GitHub上可用的最新版本升级jquery.storageapi库,但不幸的是,它似乎无法解决该问题。

由于收藏夹图标在列表中的下一个位置,我注释了将收藏夹图标添加到头部的代码,但它也没有解决问题。

我尝试调试该domReady.js文件,因为它的名称听起来可能是错误的,但没有机会。

另外,这是两个access.log文件:

仍然不知道这里发生了什么。

更新资料

我最近对安装进行了两项更改:

  • 将FireFox升级到46.0
  • 从2.0.4升级到2.0.5

现在,我无法再复制该问题了。


1
您是否尝试过查看是否由于这些后台ajax调用而锁定了会话文件并发?一些js文件使用来自ajax调用的数据,并将信息存储在cookie中并进行反向处理。encodingexplained.com/coding/php/…我在dev env中有Redis和Memcache,问题似乎消失了。
晦涩的

@obscure感谢您的输入,我明天会检查出来,但是我高度怀疑它是否有效,因为我停留在“管理”选项卡上,而在加载期间浏览另一个非Magento选项卡
时却无法使用

似乎直到46版本的Firefox更新才有所帮助,并且与magento版本没有关系。您能否将这个解决方案添加到您的回复顶部,以便立即可见。
Siarhey Uchukhlebau '16

@SiarheyUchukhlebau完成了;)
拉斐尔(Raphael)在Digital Pianism(

1
无论是什么,在当前的浏览器中以及使用较新的Magento版本时,它都不再发生,因此我将其标记为已接受。再次感谢您的调查。
Fabian Schmengler '16

0

我目前在托管NGINX服务器(2核,2GB内存)上运行php 7的M2.1.2上遇到此确切问题,并且我使用了Chrome(54.0.2840.71 m(64位))。

我没有做任何测试来找到问题的根源,但是由于这是一个新的服务器设置,因此我最初以为它是我的服务器。现在...不太确定。

现在,我应该提到我当前正在运行开发人员模式,而我还没有编译我的代码。所以可能就是这样。


0

当我更新产品并将Firefox更改为新选项卡进行导航并且magento页面失去焦点时,它以某种方式关联,它一直处于待机状态,直到返回magento页面,然后完成该产品的更新,这有点令人讨厌...因为我打开3-4个产品,并想在其他产品上工作,直到实际完成更新为止。知道这些问题的解决方案吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.