假设我的 storage/logs 目录目前为空。 我向 postman 发出请求,但出现错误。 因此,Laravel 尝试将其记录到 storage/logs 目录中。 由于它是空的,因此它创建一个新文件。
这里 - 请注意所有者/权限:
-rw-r--r-- 1 www-data www-data 9955 12 月 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 12 月 29 日 10:29 laravel-2020-12-29.log
现在,如果我再次尝试从 Postman 发出请求,它仍然有效。
但是如果我第二天尝试(或者删除文件并重试),则会再次使用初始权限创建新文件:
-rw-r--r-- 1 www-data www-data 9955 12 月 29 日 10:32 laravel-2020-12-29.log
为什么会发生这种情况? 应该怎样做才能将权限设置为正确的权限?
最佳答案
您可以通过更改 Laravel 项目的配置来解决此问题
转到此路径 config/logging.php
并找到以 daily
作为键的行,然后按如下所示进行更改:
'daily' => [
...
'permission' => 0664,
],
之后,使用此权限生成日志文件
关于php - Laravel 存储/日志 - 哪些是正确的权限和用户/组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65491011/