php 如何使用 fopen() 同时能够以非 root 用户身份编辑网站目录中的文件?

php 如何使用 fopen() 同时能够以非 root 用户身份编辑网站目录中的文件?

我正在 运行本地 apache2 网络服务器/var/www/

为了使用fopen()php 中的函数,我的网站目录的用户和组必须都是“www-data”。问题是,当我尝试以普通用户身份编辑网站目录中的文件时,普通用户没有足够的写入权限。

答案1

为了使普通用户和 php 解释器能够读写相同的文件 - 并且假设该www-data组已经对文件具有读写权限 - 您可以将用户添加到该www-data组中。

sudo gpasswd -a david www-data

直到您注销并重新登录后,此操作才会生效。在此之前,您可以使用以下方式“伪装”自己在该www-data组中:

newgrp www-data

这将导致您的 shell 分叉为一个newgrp进程,在此期间您将拥有一个属于www-data组的新 shell 会话。
您可以使用Ctrl+退出此进程D

相关内容