Laravel 日志权限变成 Root 处理

阅读数: 1716 2018年07月13日

有时候 laravel 会出现无权限写日志的问题,我们可以按以下步骤去检查:


1、运行 laravel 的 php-fpm 是什么用户,一般是 www,最好不要使用 root。

2、应用目录中,storage/logs 有没有写权限。

3、是否有运行 laravel 的脚本或者 crontab,或者supervisor,并且运行的用户和 php-fpm 的是一样的,一般是www。如果以其他身份(例如root)运行的时候 laravel 需要写日志并且创建了日志文件,那这个日志文件是属于其他用户的,www 用户无法写入。


解决办法

1、修改 php-fpm 的配置文件,修改 user 和 group 为 www。

2、chmod a+w storage/logs

3、运行 php artisan 时指定 www 运行:

crontab -e -u www


具体crontab 如何指定执行用户:

http://www.phpriji.cn/blog/detail/20180713141903kgvomu.html

4、问题处理:
如果设置了 www ,但是脚本没执行,kernel  代码里面 不要增加 --force

$schedule->command('buyer:expired')->cron('* * * * *'); //这样即可


更多关于 Laravel 任务脚本设置:
https://laravel-china.org/docs/laravel/5.5/scheduling/1325

参考资料
https://laravel-china.org/articles/6775/about-laravel-log-permissions
phpriji.cn | 网站地图 | 沪ICP备17015433号-1