假设我的storage/logs目录目前是空的。我收到了邮差的请求,但出现了错误。因此,Laravel尝试将其记录到storage/logs目录中。由于它是空的,它会创建一个新文件。
它在这里-请注意所有者/权限:
-rw-r--r-- 1 www-data www-data 9955 Dec 29 10:29 laravel-2020-12-29.log
我在这个答案中读到,用户应该是我(让我们称我的用户为myuser
(,我和组都应该具有读写权限。(我认为这是正确的——例如,如果我想运行一个手工cmd或某事,myuser
应该是所有者(
因此,我运行以下两个命令:
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
为什么会发生这种情况?应该做些什么才能将权限设置为正确的权限?
您可以通过更改laravel项目的配置来解决此问题
转到此路径config/logging.php
,找到以daily
为关键字的行,并像这样更改它,例如:
'daily' => [
...
'permission' => 0664,
],
之后,日志文件生成与此权限