![php 如何使用 fopen() 同时能够以非 root 用户身份编辑网站目录中的文件?](https://linux22.com/image/1143614/php%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20fopen()%20%E5%90%8C%E6%97%B6%E8%83%BD%E5%A4%9F%E4%BB%A5%E9%9D%9E%20root%20%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E7%BC%96%E8%BE%91%E7%BD%91%E7%AB%99%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我正在 运行本地 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