laravel 日志开启了daily模式,那就是每天就创建一个新的日志文件,eg:laravel-2018-02-12.log,在linux,新创建的log文件默认是 root有读写权限,其他都是读权限,这样会导致client去访问网站没有响应(主要是不能访问数据库,因为访问数据库要向日志里写东西,但是又没有权限,导致没有响应)。

解决办法就是:

需要修改的文件在vendor/laravel/framework/src/Illuminate/Log/Writer.php 第229行。
$handler = new RotatingFileHandler($path, $days, $this->parseLevel($level))
改为
$handler = new RotatingFileHandler($path, $days, $this->parseLevel($level),true,0777)
该代码在useDailyFiles函数中,因为config/app.php中对日志框架的配置是 
'log' => 'daily',
所以使用的是RotatingFileHandler,构造函数中第五个参数是指定创建文件的权限。

Logo

更多推荐