[Laravel]修改artisan任务的日志权限

为什么要修改日志权限

执行artisan任务产生的日志为root(权限为0644),而网页访问报错(nobody用户)写入不了日志(这会造成页面500时空白无报错信息)。

解决办法

修改artisan让新生成的日志其他的用户也能写入。
添加在$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);之后

// 当前为root权限
// 文件: artisan
if (posix_geteuid() === 0) {
    // 新建日志时创建日志,并设置0777权限
    $app->configureMonologUsing(function (Monolog\Logger $monolog) {
        $filename = storage_path('logs/laravel.log');
        $handler = new Monolog\Handler\RotatingFileHandler($filename, 0, Logger::DEBUG, true, 0777);
        $monolog->pushHandler($handler);
    });
}
// 将会生成: laravel-xxxx-xx-xx.log
```

你可能感兴趣的:([Laravel]修改artisan任务的日志权限)