因此,我遇到了 Root 无法通过 PHP 使用 fopen/fwrite 的问题,并尝试输入此内容,希望它能有所帮助(在另一个网站上找到它)
chmod -R 766 /var/www/html
现在我可以通过我的网站访问域名(http://xxxx)但无法再到达http://xxxx/文件夹名称或里面的任何东西
抱歉问了个愚蠢的问题,但我该如何解决这个问题?我对 Ubuntu 的东西还不熟悉
答案1
您需要使用 sudo 授予受保护目录的读写权限。我建议您只对项目执行此操作,而不是整个/var/www/html
目录。在这里,在您的终端上输入
sudo chmod -R 777 /var/www/html
,然后它会要求您输入密码(因为您使用了)sudo
,输入系统的密码,您很可能不会在输入时看到密码,这也很好,只需继续并按回车键即可。然后再次运行您的 php 项目。
答案2
我将解释有关 www 的正确文件权限。首先找到 apache 正在使用的用户和组。www 文件的所有者应该是编辑文件的用户,组应该是 apache。权限对于用户应该是“rw”,对于组应该是“r”,文件夹也应该具有 X 权限。对于 php 用于写入某些内容的文件夹,请为组添加“w”权限。
查找 apache 使用的用户名:ps -aux|grep apache
你会看到类似 www-data 的内容
将所有权更改为您和群组:sudo chown -R yourusername:www-data /var/www
更改权限:chmod
-R u=rwX,g=rX,o= /var/www
为某些文件夹添加脚本的写访问权限,用作缓存或类似文件夹:chmod -R g+w /var/www/html/templates_cache
对每个需要写访问权限的文件夹执行此操作。