假设我的 storage/logs 目录目前是空的。我向邮递员提出请求,但出现错误。因此,Laravel 尝试将其记录到 storage/logs 目录。由于它是空的,它会创建一个新文件。
在这里 - 请注意所有者/权限:
-rw-r--r-- 1 www-data www-data 9955 Dec 29 10:29 laravel-2020-12-29.log
我在这个答案中读到用户应该是我(让我们称之为我的用户myuser
)并且我和该组都应该具有读写权限。(我认为这是正确的——myuser
例如,如果我想运行工匠 cmd 或某事,则应该是所有者)
因此,我运行以下两个命令:
sudo chown -R $USER:www-data app/storage
sudo chmod -R ug+w app/storage
那么文件的权限就变成了:
-rw-rw-r-- 1 myuser www-data 9955 Dec 29 10:29 laravel-2020-12-29.log
现在,如果我再次尝试从 Postman 发出请求,它仍然有效。
但是如果我第二天再试一次(或者如果我删除文件并再试一次),则会再次使用初始权限创建新文件:
-rw-r--r-- 1 www-data www-data 9955 Dec 29 10:32 laravel-2020-12-29.log
为什么会这样?应该怎么做才能将权限设置为正确的?