Laravel daily 日志由任务调度生成后无法写入的解决办法

栏目: 编程语言 · PHP · 发布时间: 6年前

内容简介:首先,日志文件无法写入,根本原因是日志文件的 owner 归属错乱;由于由 web 端访问,nginx到php,生成的日志文件的 owner 是 www

原因分析

首先,日志文件无法写入,根本原因是日志文件的 owner 归属错乱;

由于 LOG_CHANNEL=daily ,日志文件每天生成,哪一个进程首先写日志,直接影响日志文件的owner;

由 web 端访问,nginx到php,生成的日志文件的 owner 是 www

而 由 crontab 系统计时器调用 Schedule 任务,生成的日志文件的 owner 是 root

owner 是 root 的文件,无法被 www 用户写入

解决办法

  1. 针对 schedule,修改 crontab 使执行者是 www 而不是 root

    我们常用的 crontab -e 命令,是为当前用户创建定时任务的,每一行的参数只有时间和命令,故无法达到我们的要求

    此时,我们需要使用 vi /etc/crontab ,直接编辑系统的定时任务,参数分别是时间,执行用户,命令:

    * * * * * www php /projectpath/artisan schedule:run
  2. 针对 queue job,修改 Laravel 队列执行者为www

    本人的环境使用 supervisord,故只需要修改进程配置文件即可:

    vi /etc/supervisord.d/myproject.ini
    user
    
若您觉得我的博文对您有帮助,欢迎点击下方按钮对我打赏

打赏

Laravel daily 日志由任务调度生成后无法写入的解决办法 Laravel daily 日志由任务调度生成后无法写入的解决办法


以上所述就是小编给大家介绍的《Laravel daily 日志由任务调度生成后无法写入的解决办法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

操作系统基础教程

操作系统基础教程

戴维斯 / 第1版 (2006年7月1日) / 2006-7 / 34.0

这是一本关于操作系统基本原理的教科书,其最大特点就是从操作系统的分层概念出发,深入浅出地介绍了操作系统的基本概念和基本框架。本书可以作为高等院校非计算机专业相关课程的教材或参考书,也适合具有高中以上数学基础的计算机用户自学,还可以作为社会上计算机培训机构的教材。对所有想了解计算机操作系统,但又不需要或不打算深入学习其理论和实现细节的读者来说,本书是一本极具价值的入门指导书。一起来看看 《操作系统基础教程》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具