提问人:Daniel Willems 提问时间:3/3/2022 更新时间:3/3/2022 访问量:237
Huge Multisite 的 Wordpress 管理员
Wordpress Admin of Huge Multisite
问:
我可能有一个罕见的 Wordpress Multisite 用例。我们公司为用户创建 wordpress 网站,当我们构建网站时,我们会将其放在单个 Wordpress 多站点安装中。我们有 Wordpress 管理员用户,他们成为所有站点的管理员。我们现在在一个 Wordpress 实例上拥有多达 3500 多个站点。由于点击 504 页面并超时,我无法再以管理员身份登录。
我尝试增加内存大小和环境中的许多其他更改,但无论我做什么,登录页面都会超时。我禁用了所有插件进行测试,但它仍然超时。我似乎在数据库查询中达到了内存限制。
PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /var/www/html/wordpress/wp-includes/wp-db.php on line 1972
我创建了一个测试管理员用户,该用户仅连接到单个站点,并且可以正常登录。此外,当未登录时,站点非常快。
我的猜测是,由于此管理员已连接到所有 3500ish 站点,因此在登录时正在对所有表进行查询。或者至少太多了。
我在 PHP 7.4 和 Wordpress 5.2.14 上。
有谁知道是否有办法配置 Wordpress 以更好地将上下文范围缩小到我登录的网站?我有点假设这就是问题所在。或者,也许我需要将 Wordpress 升级到处理此问题的更高版本。或者,也许我不是他们为其构建多站点的用例(所有站点的管理员)。我知道有些网站的安装量是我们的几倍,所以我不关心单次安装的总数。
也许我只是被困住了,如果是这样,我可以想出另一种管理站点的方法,但看到所有这些是有帮助的。
答:
2 天后找到解决方案或工作。
如果其他人遇到类似的问题,我会让你知道什么对我有用来解决这个问题。我绝不是 Wordpress 专家,这可能就是我首先遇到这个问题的原因。另外,如果有人有更好的答案或解释方式,请随时纠正我。
澄清一下,我使用的是仅在 Wordpress Multisite 中可用的超级管理员。基本上,他/她可以对整个多站点的插件、主题、用户等进行任何编辑。
当我们创建一个新博客时,我们复制了同一个基本博客。这包含新博客在我们的系统中工作所需的所有页面和设置。这包括将超级管理员设为该新博客的显式管理员。我们不需要这样做。超级管理员可以在新博客上执行所需的所有操作,而无需使他/她成为博客的明确管理员。
一旦我创建了一个新的多站点超级管理员,就没有超时,事实上,登录任何博客的速度都非常快。老实说,100% 老实说,我仍然不确定超时的具体代码,但我假设 Wordpress 会对用户在登录时作为管理员的所有博客进行某种查找。对于超级管理员来说,这就是所有的博客。
评论