如何添加写入权限的PHP / Apache?

我有以下情况:
有一个名为“上传”的文件夹。 它由“根”拥有,它的组是“网站pipe理员”。 权限设置为755。

drwxrwsr-x 2 root webmasters 4096 Mar 20 22:49 upgrade 

有了这个设置,我无法在“升级”中通过php创build文件。 如果我将权限更改为777,则可以在升级中创build文件。

但情况是这样的:
我的Apache运行万维网数据。 所以我将网站站长组添加为用户www-data的主要组。

 root@mymachine: /var/www# id www-data uid=33(www-data) gid=1002(webmasters) groups=1002(webmasters),33(www-data) 

那么为什么我需要将“升级”权限设置为777? 如果文件夹“升级”具有“网站pipe理员”组,并且用户“www-data”具有组/位于组网站pipe理员并且权限被设置为775,则网站pipe理员的所有组成员应该获得“7”应该能够读,写和执行。

我已经重新启动我的机器,所以我确信所有的组分配都被系统正确识别。 那么我做错了什么?

编辑:/ /当我从“网站pipe理员”组更改为“万维网数据”我得到了写权限与775.当我切换回网站pipe理员不起作用。 问题是为什么? 用户www数据在两个组中 – www数据和网站pipe理员。

Apache作为www-data用户和www-data组运行。 该组在其configuration中明确指定,并将用户添加到更多的组不会影响到这一点。

你可以像在httpd.conf中一样更改Apache运行的组。 有关更多信息,请参见http://docs.oseems.com/general/application/apache/change-user-and-group