后台的每个页面都需要重新登录,并且未显示底部开发面板
each page in the back-office required re-login and bottom dev panel is not shown
我在 mac pro 和 macbook pro 上本地安装了 prestashop,没有任何问题。
我想继续生产,我在 Google Cloud Platform 上创建了一个 Kubernetes 集群,并在 git(分支 stable
版本 1.7.2.4)上安装了 prestashop 56=] 7.1.13,使用 mariadb 10.3.4 作为数据库,使用 apache 2.4.10 作为 Web 服务器。
我有两个问题。
使用后台,每当我尝试浏览不同的页面时,它都会要求我重新登录。
在后台,底部的开发模式面板没有显示。
我注意到在我登录后,在 google chrome 开发人员控制台中我看到以下错误:
Uncaught TypeError: Cannot read property 'advices_to_display' of null
at Object.success (gamification_bt.js:24)
at j (jquery-1.11.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
at x (jquery-1.11.0.min.js:4)
at XMLHttpRequest.b (jquery-1.11.0.min.js:4)
我不知道这是否与我的问题有关。
我还检查了 cookie,发现我有一个名为 PHPSESSID
的 cookie
当我尝试重新登录时,它的值没有改变,所以它是新的,就像它创建了一个新会话一样。
我的 phpinfo()
输出在 https://pste.eu/p/q75K.html
我尝试不使用 apache 模块 mod_security2
和 mod_evasive
,但问题仍然存在。
我检查了要求并启用了所有相关的 php 模块(可以在 phpinfo 输出中看到)但它也没有改变任何东西。
我有点迷茫,如能提供有关此问题的任何信息,我们将不胜感激。
更新
我注意到当我进入订单页面时,我在 google chrome 开发者控制台中看到了这些错误:
index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1012 Uncaught TypeError: Cannot read property 'has_errors' of null
at Object.success (index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1012)
at j (jquery-1.11.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
at x (jquery-1.11.0.min.js:4)
at XMLHttpRequest.b (jquery-1.11.0.min.js:4)
success @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1012
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
x @ jquery-1.11.0.min.js:4
b @ jquery-1.11.0.min.js:4
XMLHttpRequest.send (async)
(anonymous) @ VM2175:1
send @ jquery-1.11.0.min.js:4
ajax @ jquery-1.11.0.min.js:4
refresh_box_conversion_rate @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1005
(anonymous) @ admin.js?v=1.7.2.0:1614
each @ jquery-1.11.0.min.js:2
each @ jquery-1.11.0.min.js:2
refresh_kpis @ admin.js?v=1.7.2.0:1607
(anonymous) @ admin.js?v=1.7.2.0:956
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
ready @ jquery-1.11.0.min.js:2
K @ jquery-1.11.0.min.js:2
index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1052 Uncaught TypeError: Cannot read property 'has_errors' of null
at Object.success (index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1052)
at j (jquery-1.11.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
at x (jquery-1.11.0.min.js:4)
at XMLHttpRequest.b (jquery-1.11.0.min.js:4)
success @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1052
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
x @ jquery-1.11.0.min.js:4
b @ jquery-1.11.0.min.js:4
XMLHttpRequest.send (async)
(anonymous) @ VM2175:1
send @ jquery-1.11.0.min.js:4
ajax @ jquery-1.11.0.min.js:4
refresh_box_carts @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1045
(anonymous) @ admin.js?v=1.7.2.0:1614
each @ jquery-1.11.0.min.js:2
each @ jquery-1.11.0.min.js:2
refresh_kpis @ admin.js?v=1.7.2.0:1607
(anonymous) @ admin.js?v=1.7.2.0:956
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
ready @ jquery-1.11.0.min.js:2
K @ jquery-1.11.0.min.js:2
index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1092 Uncaught TypeError: Cannot read property 'has_errors' of null
at Object.success (index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1092)
at j (jquery-1.11.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
at x (jquery-1.11.0.min.js:4)
at XMLHttpRequest.b (jquery-1.11.0.min.js:4)
success @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1092
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
x @ jquery-1.11.0.min.js:4
b @ jquery-1.11.0.min.js:4
XMLHttpRequest.send (async)
(anonymous) @ VM2175:1
send @ jquery-1.11.0.min.js:4
ajax @ jquery-1.11.0.min.js:4
refresh_box_average_order @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1085
(anonymous) @ admin.js?v=1.7.2.0:1614
each @ jquery-1.11.0.min.js:2
each @ jquery-1.11.0.min.js:2
refresh_kpis @ admin.js?v=1.7.2.0:1607
(anonymous) @ admin.js?v=1.7.2.0:956
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
ready @ jquery-1.11.0.min.js:2
K @ jquery-1.11.0.min.js:2
index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1132 Uncaught TypeError: Cannot read property 'has_errors' of null
at Object.success (index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1132)
at j (jquery-1.11.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
at x (jquery-1.11.0.min.js:4)
at XMLHttpRequest.b (jquery-1.11.0.min.js:4)
success @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1132
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
x @ jquery-1.11.0.min.js:4
b @ jquery-1.11.0.min.js:4
XMLHttpRequest.send (async)
(anonymous) @ VM2175:1
send @ jquery-1.11.0.min.js:4
ajax @ jquery-1.11.0.min.js:4
refresh_box_net_profit_visit @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1125
(anonymous) @ admin.js?v=1.7.2.0:1614
each @ jquery-1.11.0.min.js:2
each @ jquery-1.11.0.min.js:2
refresh_kpis @ admin.js?v=1.7.2.0:1607
(anonymous) @ admin.js?v=1.7.2.0:956
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
ready @ jquery-1.11.0.min.js:2
K @ jquery-1.11.0.min.js:2
util.js:248 Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys
TC.j @ util.js:248
(anonymous) @ js?v=3.exp:147
(anonymous) @ js?v=3.exp:62
(anonymous) @ js?v=3.exp:60
(anonymous) @ js?v=3.exp:62
(anonymous) @ js?v=3.exp:125
(anonymous) @ js?v=3.exp:60
(anonymous) @ js?v=3.exp:125
(anonymous) @ js?v=3.exp:60
(anonymous) @ js?v=3.exp:125
ae @ js?v=3.exp:62
$d.na @ js?v=3.exp:125
(anonymous) @ util.js:1
js?v=3.exp:38 Google Maps API error: MissingKeyMapError https://developers.google.com/maps/documentation/javascript/error-messages#missing-key-map-error
_.Pb @ js?v=3.exp:38
(anonymous) @ common.js:54
(anonymous) @ common.js:199
c @ common.js:48
(anonymous) @ AuthenticationService.Authenticate?1shttp%3A%2F%2Fwww.xn----3hckih2ap0e.co.il%2Fadmin-dev%2Findex.php%3Fcontroller%3DAdminOrders%26token%3D89ba607af3ec7e91bba30f2f9358a922&callback=_xdc_._vg6xgl&token=72227:1
再次不知道它是否相关..只是想提供尽可能多的信息。
这个问题也与某种超时无关,因为即使在我尝试加载不同的页面一秒钟后,它也会要求我重新登录。
如果后台需要登录,可能是因为以下两点:
- 您的 ip 已更改,Prestashop 设置为检查员工 ip;
- Cookie 已过期或服务器未收到;
要检查它是否是第一种情况,请转到管理 -> 首选项并禁用检查 cookie 的 ip 地址。
由于您有一个 kubernetes 集群,您的 ip 更改可能是集群 setup/work.
方式的结果
如果是 cookie 相关的问题,可以通过检查 cookie 集以及是否被服务器接收来调试。
至于调试工具栏仅在调试模式打开时显示,并且在使用 symfony 的页面中。例如在产品页面和模块中。要启用调试模式,您可以编辑文件 config/defines.inc.php
并设置 define('_PS_MODE_DEV_', true);
或在 Advanced Parameters -> Performance 中将 Debug Mode 设置为 yes。
试试下面的方法:
登录管理面板(或后台)
配置 -> 管理 -> 高级参数 -> 常规
通过单击 'Save' 按钮禁用 Check the cookie's IP address
设置并保存设置。
我在 mac pro 和 macbook pro 上本地安装了 prestashop,没有任何问题。
我想继续生产,我在 Google Cloud Platform 上创建了一个 Kubernetes 集群,并在 git(分支 stable
版本 1.7.2.4)上安装了 prestashop 56=] 7.1.13,使用 mariadb 10.3.4 作为数据库,使用 apache 2.4.10 作为 Web 服务器。
我有两个问题。
使用后台,每当我尝试浏览不同的页面时,它都会要求我重新登录。
在后台,底部的开发模式面板没有显示。
我注意到在我登录后,在 google chrome 开发人员控制台中我看到以下错误:
Uncaught TypeError: Cannot read property 'advices_to_display' of null
at Object.success (gamification_bt.js:24)
at j (jquery-1.11.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
at x (jquery-1.11.0.min.js:4)
at XMLHttpRequest.b (jquery-1.11.0.min.js:4)
我不知道这是否与我的问题有关。
我还检查了 cookie,发现我有一个名为 PHPSESSID
的 cookie
当我尝试重新登录时,它的值没有改变,所以它是新的,就像它创建了一个新会话一样。
我的 phpinfo()
输出在 https://pste.eu/p/q75K.html
我尝试不使用 apache 模块 mod_security2
和 mod_evasive
,但问题仍然存在。
我检查了要求并启用了所有相关的 php 模块(可以在 phpinfo 输出中看到)但它也没有改变任何东西。
我有点迷茫,如能提供有关此问题的任何信息,我们将不胜感激。
更新
我注意到当我进入订单页面时,我在 google chrome 开发者控制台中看到了这些错误:
index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1012 Uncaught TypeError: Cannot read property 'has_errors' of null
at Object.success (index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1012)
at j (jquery-1.11.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
at x (jquery-1.11.0.min.js:4)
at XMLHttpRequest.b (jquery-1.11.0.min.js:4)
success @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1012
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
x @ jquery-1.11.0.min.js:4
b @ jquery-1.11.0.min.js:4
XMLHttpRequest.send (async)
(anonymous) @ VM2175:1
send @ jquery-1.11.0.min.js:4
ajax @ jquery-1.11.0.min.js:4
refresh_box_conversion_rate @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1005
(anonymous) @ admin.js?v=1.7.2.0:1614
each @ jquery-1.11.0.min.js:2
each @ jquery-1.11.0.min.js:2
refresh_kpis @ admin.js?v=1.7.2.0:1607
(anonymous) @ admin.js?v=1.7.2.0:956
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
ready @ jquery-1.11.0.min.js:2
K @ jquery-1.11.0.min.js:2
index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1052 Uncaught TypeError: Cannot read property 'has_errors' of null
at Object.success (index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1052)
at j (jquery-1.11.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
at x (jquery-1.11.0.min.js:4)
at XMLHttpRequest.b (jquery-1.11.0.min.js:4)
success @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1052
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
x @ jquery-1.11.0.min.js:4
b @ jquery-1.11.0.min.js:4
XMLHttpRequest.send (async)
(anonymous) @ VM2175:1
send @ jquery-1.11.0.min.js:4
ajax @ jquery-1.11.0.min.js:4
refresh_box_carts @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1045
(anonymous) @ admin.js?v=1.7.2.0:1614
each @ jquery-1.11.0.min.js:2
each @ jquery-1.11.0.min.js:2
refresh_kpis @ admin.js?v=1.7.2.0:1607
(anonymous) @ admin.js?v=1.7.2.0:956
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
ready @ jquery-1.11.0.min.js:2
K @ jquery-1.11.0.min.js:2
index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1092 Uncaught TypeError: Cannot read property 'has_errors' of null
at Object.success (index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1092)
at j (jquery-1.11.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
at x (jquery-1.11.0.min.js:4)
at XMLHttpRequest.b (jquery-1.11.0.min.js:4)
success @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1092
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
x @ jquery-1.11.0.min.js:4
b @ jquery-1.11.0.min.js:4
XMLHttpRequest.send (async)
(anonymous) @ VM2175:1
send @ jquery-1.11.0.min.js:4
ajax @ jquery-1.11.0.min.js:4
refresh_box_average_order @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1085
(anonymous) @ admin.js?v=1.7.2.0:1614
each @ jquery-1.11.0.min.js:2
each @ jquery-1.11.0.min.js:2
refresh_kpis @ admin.js?v=1.7.2.0:1607
(anonymous) @ admin.js?v=1.7.2.0:956
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
ready @ jquery-1.11.0.min.js:2
K @ jquery-1.11.0.min.js:2
index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1132 Uncaught TypeError: Cannot read property 'has_errors' of null
at Object.success (index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1132)
at j (jquery-1.11.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
at x (jquery-1.11.0.min.js:4)
at XMLHttpRequest.b (jquery-1.11.0.min.js:4)
success @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1132
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
x @ jquery-1.11.0.min.js:4
b @ jquery-1.11.0.min.js:4
XMLHttpRequest.send (async)
(anonymous) @ VM2175:1
send @ jquery-1.11.0.min.js:4
ajax @ jquery-1.11.0.min.js:4
refresh_box_net_profit_visit @ index.php?controller=AdminOrders&token=89ba607af3ec7e91bba30f2f9358a922:1125
(anonymous) @ admin.js?v=1.7.2.0:1614
each @ jquery-1.11.0.min.js:2
each @ jquery-1.11.0.min.js:2
refresh_kpis @ admin.js?v=1.7.2.0:1607
(anonymous) @ admin.js?v=1.7.2.0:956
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
ready @ jquery-1.11.0.min.js:2
K @ jquery-1.11.0.min.js:2
util.js:248 Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys
TC.j @ util.js:248
(anonymous) @ js?v=3.exp:147
(anonymous) @ js?v=3.exp:62
(anonymous) @ js?v=3.exp:60
(anonymous) @ js?v=3.exp:62
(anonymous) @ js?v=3.exp:125
(anonymous) @ js?v=3.exp:60
(anonymous) @ js?v=3.exp:125
(anonymous) @ js?v=3.exp:60
(anonymous) @ js?v=3.exp:125
ae @ js?v=3.exp:62
$d.na @ js?v=3.exp:125
(anonymous) @ util.js:1
js?v=3.exp:38 Google Maps API error: MissingKeyMapError https://developers.google.com/maps/documentation/javascript/error-messages#missing-key-map-error
_.Pb @ js?v=3.exp:38
(anonymous) @ common.js:54
(anonymous) @ common.js:199
c @ common.js:48
(anonymous) @ AuthenticationService.Authenticate?1shttp%3A%2F%2Fwww.xn----3hckih2ap0e.co.il%2Fadmin-dev%2Findex.php%3Fcontroller%3DAdminOrders%26token%3D89ba607af3ec7e91bba30f2f9358a922&callback=_xdc_._vg6xgl&token=72227:1
再次不知道它是否相关..只是想提供尽可能多的信息。
这个问题也与某种超时无关,因为即使在我尝试加载不同的页面一秒钟后,它也会要求我重新登录。
如果后台需要登录,可能是因为以下两点:
- 您的 ip 已更改,Prestashop 设置为检查员工 ip;
- Cookie 已过期或服务器未收到;
要检查它是否是第一种情况,请转到管理 -> 首选项并禁用检查 cookie 的 ip 地址。 由于您有一个 kubernetes 集群,您的 ip 更改可能是集群 setup/work.
方式的结果如果是 cookie 相关的问题,可以通过检查 cookie 集以及是否被服务器接收来调试。
至于调试工具栏仅在调试模式打开时显示,并且在使用 symfony 的页面中。例如在产品页面和模块中。要启用调试模式,您可以编辑文件 config/defines.inc.php
并设置 define('_PS_MODE_DEV_', true);
或在 Advanced Parameters -> Performance 中将 Debug Mode 设置为 yes。
试试下面的方法:
登录管理面板(或后台)
配置 -> 管理 -> 高级参数 -> 常规
通过单击 'Save' 按钮禁用 Check the cookie's IP address
设置并保存设置。