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

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

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

查看所有标签

猜你喜欢:

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

Lua设计与实现

Lua设计与实现

codedump / 人民邮电出版社 / 2017-8 / 49.00元

本书首先介绍了Lua中的数据结构,比如通用数据是如何表示的、Lua的字符串以及表类型的实现原理,接着讨论了Lua虚拟机的实现,并且将其中重点的一些指令进行了分类讲解,最后讨论了垃圾回收、模块实现、热更新、协程等的实现原理。一起来看看 《Lua设计与实现》 这本书的介绍吧!

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

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

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

HSV CMYK互换工具