如何解决Laravel定时任务日志权限问题

最近上线了一个项目,隔天总会出现文件写入权限不足的问题,明明目录是设置了可写入访问的权限,经过排查最终发现问题所在。

原因是因为每天凌晨有个定时任务在每次执行完之后写入跟业务执行相同的文件中,从而导致业务操作后写入文件报权限不足。

图片[1]-如何解决Laravel定时任务日志权限问题-不念博客

解决这个问题其实也很简单,只要在文件配置设置权限。

详情如下我们直接访问Laravel项目下的config/logging.php文件,找到我们对应的文件设置加入这一行

'permission' => 0766

加完如下

'wxPay' => [
    'driver' => 'daily',
    'path' => storage_path('logs/wxPay.log'),
    'level' => 'debug',
    'days' => 7,
    'permission' => 0766
],

'wxApi' => [
    'driver' => 'daily',
    'path' => storage_path('logs/wxApi.log'),
    'level' => 'debug',
    'days' => 7,
    'permission' => 0766
],

这样就不会存在因为定时任务执行时写入文件,导致出现权限不足的问题。

© 版权声明
THE END