[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
```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容