Laravel storage logs 日志文件权限引起的问题
阅读 (304) 2023-02-16 10:00:10
Laravel前后端分离,当接口出现错误时,前端报500错误,并提示存在跨域问题。
laravel中的cors都是按正确的配置,且如果接口是正常响应的情况下,前端没有任何问题,但只要程序中使用throw new ErrorException (这里的ErrorException是我重写的异常抛出规则)抛出异常时,前端就提示跨域了。
最终经过调试发现,是laravel log日志没有权限写入引起的。
1.将storage目录的所有权改成nginx用户权限,如:
chown -R www:www storage
chown -R www:www bootstrap/cache
2.清一下缓存和包自动发现(这也很关键)
php artisan package:discover
php artisan config:clear
php artisan cache:clear
3.如果日志生成规则是daily,在config/logging.php中,将daily的permission设置也给加上
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 14,
'permission' => 0664,
],
更新于:2023-02-16 10:01:32