class-wp-roles.php 中的错误 - “array_keys() 期望参数 1 为数组”
<p>几天前,我注意到我无法再访问 WordPress 中的管理仪表板。我会使用正常的管理员用户名/密码登录,但随后我会被重定向到网站主页而不是 WordPress 仪表板。并且页面顶部的管理栏没有显示转到仪表板或编辑页面等的常用选项。之后当我尝试转到 wp-admin 时,我收到一条错误消息“抱歉,您不允许访问此页面。”</p>
<p>当我启用 wp_debug 时,我开始看到以下错误消息:</p>
<blockquote>
<p>警告:array_keys() 期望参数 1 为数组,在 /var/www/wp-includes/class-wp-roles.php 第 291 行给出的字符串</p>
<p>警告:在第 291 行 /var/www/wp-includes/class-wp-roles.php 中为 foreach() 提供的参数无效</p>
<p>警告:array_keys() 期望参数 1 为数组,在 /var/www/wp-includes/class-wp-roles.php 第 291 行给出的字符串</p>
<p>警告:在第 291 行 /var/www/wp-includes/class-wp-roles.php 中为 foreach() 提供的参数无效</p>
</blockquote>
<p>即使我禁用了所有插件,也会显示此错误,并且无论当前激活哪个主题,它都会显示。我在搜索中找不到太多有关此错误的信息,并且有关 class-wp-roles 的几个线程特定于我不使用的某些插件。</p>
<p>我做了正常的首次检查,比如关闭所有插件、检查 wp-config.php、检查文件权限、检查 phpmyadmin 中的帐户角色/权限,甚至使用 phpmyadmin 创建了一个新的管理员用户。我还在“安全模式”下加载了该网站,该模式禁用所有插件并默认为 WordPress 中的“二十二十”主题。仍然无法访问 WordPress 仪表板。 wp-admin.php。</p>
<p>一些附加信息,我的网站使用 Storefront 主题和 WooCommerce,但由于即使这两个主题均未激活,也会显示此错误,所以这应该不重要,对吧?我的网站托管在 GoDaddy 上,当我第一次遇到此错误时,该网站使用的是 WordPress 6.0.3,但昨天它自动升级到 6.1.1,但我仍然遇到同样的问题。 (我真的希望升级能够解决这个问题。)该网站的其他一切似乎都工作正常。我只是无法访问管理仪表板!非常感谢任何对此的帮助。</p>