我有一个WordPress安装。 当文件夹的所有权为root时,消耗的内存是可以的。 但是,当我将所有权更改为www-data用户时,它开始占用大量内存,并开始引发大量内存不足错误。 我已经将所有权更改为root。 为什么会发生?
这可能是安装和启用的插件中的内存泄漏。
例如, wp-super-cache插件 已知会导致问题 , 像这样 。
最好的方法是禁用所有插件和主题,然后再次测量内存使用情况。 假设这可以修复你的问题,你可以再次启用每个插件和主题,看看它们对内存使用有什么影响。
编辑:我已经find了这里的一个例子 ,其中caching中的文件的所有权被改变,它导致了内存泄漏,如你所描述的。
在您的具体情况下,您首先以root用户身份运行此wordpress安装,有效地创build所有权不可由Web服务器写入的文件。
您应该能够更正caching中这些文件的所有权来解决您的问题。
当然,它可能不是导致你的问题的wp-super-cache插件。 如果禁用插件有任何影响,你还没有回来,所以我仍然在这个假设。
当您更改目录所有权时,您是否有效拒绝www数据的写入权限? 或者,你是否设置了权限,使www数据仍然可以写入到WordPress安装? 另外,你打PHP的内存限制,或者你打一个系统墙?
当您以root用户身份运行它时,您是否看到Web服务器日志中的任何错误,这些错误表明在使用www-data所有权运行时,您看不到写入磁盘的问题?
理查德可能是正确的。 我的猜测是,根拥有权阻止Wordpress做一些caching或其他文件相关的任务,因为它不能写入本地文件系统。 这种失败使它不能消耗太多的记忆。 当所有权允许写入时,它可以做任何它正在做的事情和炸弹。