为了账号安全,请及时绑定邮箱和手机立即绑定

没有CHMOD 777,无法在NGINX中创建文本文件或将其追加到文本文件中

没有CHMOD 777,无法在NGINX中创建文本文件或将其追加到文本文件中

PHP
呼如林 2021-04-09 14:15:23
使用Lightsail NGINX实例,并在PHP文件中获得一行内容,该行无法满足我的需要$s = 'Hello world';$myfile = file_put_contents('log.txt', $s.PHP_EOL , FILE_APPEND | LOCK_EX);我希望它创建log.txt文件(如果不存在)。如果有,我要附加它。它也不做。如果创建该文件,它将无法正常工作。仅当我通过SSH将文件更改为777时,它才能工作。但是,将来的工作是制作文件,因此出于777安全性之外的原因,这种手动方法将不可行。我知道这取决于安全性设置,但实际上不确定如何做才能使其尽可能安全,同时仍然允许PHP访问创建/附加到文本文件的权限。看来我有一个叫www-data的用户。我试过了:sudo chown -R www-data:www-data htmlsudo chmod -R g+s html仍然无法创建文件。如果我将错误报告放在上面,则会得到:file_put_contents(log.txt): failed to open stream: Permission denied
查看完整描述

3 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

我认为,实现目标的更好方法是chown命令。这将更改文件的所有权。

试运行

chown username yourfile

您也可以将其用于文件夹

chown -R username yourfolder

就您而言,您可能需要更改文件log.txt的所有权


查看完整回答
反对 回复 2021-04-23
?
冉冉说

TA贡献1877条经验 获得超1个赞

尝试将所有权更改为nginx用户。

chown nginx: log.txt


查看完整回答
反对 回复 2021-04-23
  • 3 回答
  • 0 关注
  • 214 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信