【问题标题】:Laravel: Newly created log file has ownership issuesLaravel:新创建的日志文件存在所有权问题
【发布时间】:2021-06-19 01:07:06
【问题描述】:

在我的 laravel 项目中,在 /storage/logs 文件夹中,每天都会创建一个日志文件。如果 file 是由 apache 创建的,那么所有者和所有者组将变为 www-data,如果 file 是由 vs-code 创建的,则它的所有者并且所有者组变为 habib(因为 vs-code 在 habib 用户下运行)

这就是问题所在。

-在第一种情况下,当 apache 创建该文件时,如果 vs-code 想要编辑该文件,则会出错。

-在第二种情况下,当 vs-code 创建该文件时,如果 apache 想要编辑该文件,则会出错。

错误是:文件流无法以追加模式打开。

我是如何每天解决这个问题的?

好吧,我每天都在运行以下命令来消除上述错误,我手动设置了文件的所有权

sudo chown habib:www-data laravel-2021-03-22.log

我想要什么?我想以这样一种方式设置所有权,它会在创建文件时自动将新创建的文件的所有者设为 habib,并将所有者组设为 www-data。请告诉我这是否是一个正确的解决方案,如果是,那么如何实施?

【问题讨论】:

  • 您是否尝试过授予对文件夹的访问权限,而不是 sudo chown habib:www-data logs 或`sudo chown -R habib:www-data logs`
  • 是的,已经这样做了,我的日志文件夹的所有者是 habib,所有者组是 www-data
  • 您的第二个命令将更新现有文件的所有权。我说的是新创建的文件。
  • 可以将www-data用户添加到habib组,将habib添加到www-data组,也可以在config/logging.php中设置权限为0664
  • 你可以试试另外一种方法,就是给新创建的文件添加权限 比如permission => 0666laravel.com/docs/8.x/…

标签: linux laravel apache ownership


【解决方案1】:

在您的应用目录中使用以下命令授予对存储目录的访问权限。
sudo chmod -R 777 storage

【讨论】:

    猜你喜欢
    • 2019-12-06
    • 1970-01-01
    • 2020-02-15
    • 2018-02-03
    • 2020-09-22
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多