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 日志由任务调度生成后无法写入的解决办法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

人工智能

人工智能

S. Russell、P. Norvig / 清华大学出版社 / 2006-5-1 / 128.00元

本书被全世界89个国家的900多所大学用作教材。 本书以详尽和丰富的资料,从理性智能体的角度,全面阐述了人工智能领域的核心内容,并深入介绍了各个主要的研究方向。全书分为8大部分:第一部分“人工智能”,第二部分“问题求解”,第三部分“知识与推理”,第四部分“规划”,第五部分“不确定知识与推理”,第六部分“学习”,第七部分“通信、感知与行动”,第八部分“结论”。本书既详细介绍了人工智能的基本概念......一起来看看 《人工智能》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具