www-data 所有权使 WordPress 安装消耗更多内存

www-data 所有权使 WordPress 安装消耗更多内存

我有一个 WordPress 安装。当文件夹的所有权为 root 时,内存消耗正常。但是,当我将所有权更改为用户时www-data,它开始消耗大量内存并开始抛出大量内存不足错误。我已将所有权更改为 root。为什么会发生这种情况?

答案1

这很可能是已安装并启用的插件发生了内存泄漏。

例如,wp-super-cache 插件已知会引起问题像这样

最好的方法是禁用所有插件和主题,然后再次测量内存使用情况。假设这解决了您的问题,您可以再次启用每个插件和主题,看看它们对内存使用有什么影响。

编辑:我发现这里有一个例子,其中缓存中的文件的所有权被更改,这导致了您所描述的内存泄漏。

在您的特定情况下,您首先以 root 身份运行此 wordpress 安装,从而有效地创建了具有 Web 服务器不可写入的所有权的文件。

您应该能够更正缓存中这些文件的所有权来解决您的问题。

当然,导致您出现问题的可能不是 wp-super-cache 插件。您还没有回复禁用插件是否有任何效果,因此我仍在研究这一假设。

答案2

当您更改目录所有权时,您是否有效地拒绝了 www-data 的写入权限?或者,您是否设置了权限,使得 www-data 仍然可以写入 WordPress 安装?此外,您是否达到了 PHP 的内存限制或遇到了系统障碍?

当您以 root 所有权运行它时,您是否会在 Web 服务器日志中看到任何错误,这些错误表明写入磁盘时出现问题,而以 www-data 所有权运行时则看不到这些问题?

上面的 Richard 可能是对的。我猜是 root 所有权阻止了 Wordpress 执行某些缓存或其他文件相关任务,因为它无法写入本地文件系统。该故障阻止了它占用过多内存。当所有权允许写入时,它就可以做它正在做的任何事情,然后它就会崩溃。

相关内容