假设我的storage/logs目录现在是空的。我执行了Postman的请求,但出现错误。因此,Laravel尝试将其记录到storage/logs目录中。因为它是空的,所以它会创建一个新文件。
如下所示-请注意所有者/权限:
-rw-r--r-- 1 www-data www-data 9955 Dec 29 10:29 laravel-2020-12-29.log
我在this answer上读到,用户应该是我(让我们称我的用户为myuser),并且我和组都应该具有读写权限。(我认为这是正确的- myuser应该是所有者,例如,如果我想运行一个artisan 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
为什么会发生这种情况?应该做些什么才能将权限设置为适当的权限?
发布于 2020-12-29 19:22:34
您可以通过更改laravel项目的配置来修复此问题
转到此路径config/logging.php,找到以daily为键的行,并将其更改为如下所示:
'daily' => [
...
'permission' => 0664,
],之后,将使用此权限生成日志文件
https://stackoverflow.com/questions/65491011
复制相似问题