Laravel配置按天记录的(daily)日志,root角色执行任务,无法写入日志
分享一个大家可能会踩到的坑,如果你在使用 Laravel,并且日志配置是按天记录的(daily),那么你千万不要用 root 角色来执行计划任务,请以你的 nginx 子进程用户(也就是我们平常说的 www 用户),比如我的机器 Ubuntu 默认 apt 安装 nginx 的话是 www-data,那么应该修改 crontab 配置像以下这样:
- www-data php [项目目录]/artisan schedule:run >> /dev/null 2>&1
否则,以 root 角色执行的话,只要遇到记日志的代码就会以 root 角色创建,这样你的 web 服务运行时就无法写入日志了。
- www-data php [项目目录]/artisan schedule:run >> /dev/null 2>&1
习惯用root用户来操作的小伙伴 按一下修改这个crontab,就可以。
* * * * * su apache -s /bin/sh -c 'php /data/backend/artisan schedule:run >>
/dev/null 2>&1'
网友评论