使用PHP创build新的用户不被Apache 2.4识别

我有一个服务器设置新的Linux用户创build使用(PHP)

shell_exec ( '/usr/sbin/useradd ' . $username ); exec ('usermod -a -G ' . $username . ' '. $username); #add user into the usergroup exec ('usermod -a -G ' . $username . ' www-data'); #add usergroup with the www-data 

然后,用户脚本将所有者和文件组更改为此所有者。 服务器设置为suPHP,然后允许这些文件作为所有者运行。

这个设置在Apache 2.2上工作正常,但是在Apache 2.4中打破了。 一切工作正常,除非当我尝试oepn文件,它给出了一个403禁止的错误。 添加用户后重新启动apache修复了这个问题,但这对我来说不是一个可行的解决scheme。 用户添加使用Web服务器,因此我需要能够做到这一点,而不必每次重新加载/重新启动Apache。

我已经search了几个小时,试图解决这个问题,但一直没能这样做! 我正在运行的Ubuntu 14.04,我也不能降级到Apache 2.2。

每次将自己添加到组中时,都需要注销并重新login才能使更改生效。 同样的事情发生在这里,通过重启Apache,你允许它“重新login”并进入用户组,然后允许它读取和提供用户的文件。