我只是disabled all plugins, 然后将我的WP升级为4.7.3. 然后我要做的第一件事是以管理员身份登录到面板。
然后我得到:
抱歉,不允许您访问此页面
(注意:我的Wordpress使用默认前缀wp_, 所以这不应该是前缀问题。)
然后我做了一些手动调试。以下是步骤:
(1) 内部wp-includes/user.php, 线后104, 放print_r( $user ); exit; 在最后一行之前function wp_signon( ). 并返回正确的有效用户对象:
104: do_action( \'wp_login\', $user->user_login, $user );
105: print_r( $user ); exit;
106: return $user;
107: }
WP\\u User Object([数据]=>;stdClass Object([ID]=>;1[用户登录]=>;管理员[用户通行证]=>;$Q$BipvC2ydjzFlGFKbY.jkjhhpqbeu7ue。[用户名称]=>;管理员[用户电子邮件]=>;admin@example.com[用户url]=>;[用户注册]=>;2013-08-05 06:46:16[用户激活键]=>;[用户状态]=>;1[显示名称]=>;管理员)[ID]=>;1[大写]=>;数组([管理员]=>;1)[cap\\U键]=>;wp\\U功能[角色]=>;数组([0]=>;管理员)[所有CAPs]=>;数组([切换\\u主题]=>;1[编辑\\u主题]=>;1[激活\\u插件]=>;1[编辑\\u插件]=>;1[编辑\\u用户]=>;1[编辑\\u文件]=>;1[管理\\u选项]=>;1[缓和\\u评论]=。。。。。。。。。。。。。。。。。
()That means, at this point, Wordpress can properly authenticate the user and retrieve it\'s Object. So nothing is wrong with authentication part! )
(2) 然后,在里面wp-admin/admin.php, 线后31, 将echo get_current_user_id();
31: require_once(dirname(dirname(__FILE__)) . \'/wp-load.php\');
32: echo get_current_user_id();
然后,它来了!
0
抱歉,不允许您访问此页面。
这意味着,此时,刚刚登录的管理员用户已经离开了。Wordpress has lost the User, 因此不记得用户。
有人能帮我理解为什么会这样吗?
如果您想知道,以下是我的数据库值wp_usermeta 表(用于user_id=1):
wp\\U能力=a:1:{s:13:administrator:1:1}
wp\\U user\\U级别=10