使用与Nginx/PHP-fpm相同组的用户在不使用FTP的情况下启用插件安装

时间:2014-05-14 作者:Ilyes512

我只是安装了一个VPS,安装了所有我需要的东西,它运行得很好。问题是,我希望它能够自动更新,并允许我安装没有ftp的插件。这是我的设置:

我创建了一个名为“wordpress”的新用户和组,Nginx和PHP-FPM都使用“wordpress”作为用户和组chgrp -R) 至“wordpress”。我还对文件夹执行了“chmod g+s”,因此新文件属于“wordpress”组有了以上所有内容,我仍然无法安装新插件(可能还有主题或更新),但如果我将文件所有者更改为“wordpress”,一切都很好。是否不可能让“用户”拥有这些文件,以便在我使用sftp上载文件时不必chown.

TL;DR
WordPress文件是否可能由与运行nginx/php fpm的组位于同一组的用户拥有,并且仍然能够安装插件?

编辑:
更多信息:
nginx。顶部的conf包含user wordpress wordpresspool.d/www.conf 包含2行,其中user = ilyesnl group = ilyesnl. 我还确认这两个进程都是由用户运行的wordpress.

1 个回复
SO网友:Otto

WordPress特别检查fileowner 它创建的文件的个数与返回的值相同getmyuid.

这意味着,如果它使用与WordPress文件本身所有者不同的所有者创建文件,则不会使用“直接”模式。

同一组是不够的。WordPress写入的文件必须与WordPress文件本身具有相同的所有权,否则它不会这样做,而是会尝试其他方法,例如FTP权限。这意味着PHP进程必须以实际拥有WordPress文件的同一用户的身份运行。

因此,如果您的PHP以“wordpress”的身份运行,但文件归“user”所有,那么您将获得FTP文件。

这方面的测试在get_filesystem_method() 作用

结束

相关推荐

Recommended File Permissions

嘿,伙计们,我花了很长时间试图解决这个问题。我想知道WordPress中的文件权限应该是什么样子in order to use the autoupdate feature. 到目前为止,我的wordpress安装程序一直在询问我的FTP信息,我不想使用那种升级/安装方法,我想使用纯/直接PHP。某些上下文:Web服务器和php fcgi守护程序运行为www-data:www-data</wordpress安装位于/home/blaenk/sites/domain.tld/</首先,我read