登录Laravel 5.1的文件权限


File permission of Log in Laravel 5.1

我正在使用Laravel 5.1,日志设置为每天生成。

我大量使用乔布斯。Web服务器是Apache,因此PHP以apache用户身份执行,因此在一天结束时,apache用户会生成一个新的日志文件,并且文件权限0644。我通过 Supervisor 配置了工作线程,该 Supervisor 由 apache 用户运行。(到目前为止一切顺利(

现在,对于队列中的随机峰值,我有一个脚本设置来运行更多工作线程(队列的使用者(。我面临的问题是,由于日志文件是使用 0644 权限生成的,其他用户没有文件的写入权限。

我能想到的几个解决方案是——

  • root用户启动工作线程(不能,因为我没有权限(
  • 每天在 00:00
  • :00 将文件权限更改为 0646 的 cron(也需要 root(
  • 当前用户在 00:00:00 手动生成日志文件,以便我有权将权限更改为0646(不可靠,如果apache先创建它怎么办(
  • apache用户身份启动工作线程(由于没有root,所以这是不可能的(
  • Unix SE网站上的这个问题

所以我的问题是最好的方法是什么,这对我来说似乎是一个普遍的问题,任何开发人员都可能面临。或者除了上述方法之外,还有没有更好的方法可以做到这一点。

[..] 其他用户没有文件的写入权限。

是否确实希望这些用户直接访问该文件?您只需将API添加到laravel应用程序即可提供此文件(甚至仅从中过滤出一些数据(。这也允许您在应用程序中拥有更细粒度的访问控制等。