【问题标题】:Laravel - Which user creates log filesLaravel - 哪个用户创建日志文件
【发布时间】:2019-07-16 07:45:26
【问题描述】:

我的问题是我有一个 laravel Web 应用程序,并且在存储文件夹中我正在记录慢速 SQL 查询,但它们没有出现。在 laravel.log 我可以看到以下错误:

[2019-02-22 07:23:21] dev.ERROR: file_put_contents(/var/www/html/com.mywebsite/storage/logs/sql/2019-02-22-slow-log.sql): failed to open stream: Permission denied {"userId":40,"email":"a.user@somewhere.com","exception":"[object] (ErrorException(code: 0): file_put_contents(/var/www/html/com.mywebsite/storage/logs/sql/2019-02-22-slow-log.sql): failed to open stream: Permission denied at /var/www/html/com.mywebsite/vendor/mnabialek/laravel-sql-logger/src/SqlLogger.php:179)

我正在使用 NginX 和 PHP-FPM 在 CentOS 7 linux 上运行它。它们都使用名为web 的用户运行,并且所有文件和文件夹的权限都是web:web。但是,我看到了一个慢查询日志文件,权限为root:web。什么给了?

【问题讨论】:

  • 慢查询日志由 MySQL 生成。
  • 所以文件是由运行mysql的用户创建的,也就是root,ok。但那为什么web 用户要在里面写呢?

标签: mysql laravel logging permissions


【解决方案1】:

哦,是的!我发现了这个问题。我以前的一位 sys.operators 编写了 cronjob,我没有注意。他是为 sudo 用户而不是网络用户编写的。运行某些 PHP 命令是一项工作。这就是为什么日志文件以 root 权限出现,但后来 laravel 应用程序无法写入它。谢谢您的帮助。 :)

【讨论】:

  • 很好:问题解决了。请考虑接受答案
猜你喜欢
  • 2016-01-27
  • 2021-08-30
  • 2011-02-18
  • 2014-04-10
  • 2015-07-17
  • 1970-01-01
  • 2015-08-08
  • 2021-01-01
  • 2011-11-10
相关资源
最近更新 更多