// 辅助函数session() 文件位置 vendor/laravel/framework/src/Illuminate/Foundation/helpers.php
// 保存
session(['key'=>'value']);
// 例,登陆保存用户信息
session(['user'=>$user]);
//读取
session('key');
session('user');
//设置session 千万别写成 session('key','val'), 这样表示取获, 第二个参数表示默认值
// 设置自定义函数
[https://zhuanlan.zhihu.com/p/114713401](https://zhuanlan.zhihu.com/p/114713401)
// 设置完在脚本周期就获取, 能获取到么?可以
$user = User::where('id','1')->first();
session(['user'=>$user]);
dd(session('user'));
奇怪的错误 502网关错误 错误信息“502 Bad Gateway”
.env配置 “SESSION_DRIVER=cookie” , 使用了User模型, 在session(['user'=>$user]);
触发的错误, 网上没找到同样经历
不发生错误的几种情况:
1.当不使用模型, 用DB::table()
2.使用了User模型, 并使用select 过滤字段, 减少字段时
3.把 .env配置 “SESSION_DRIVER=cookie” 中"cookie" 改为file时
猜想, cookie 对数据大小有要求, 超出限制, 抛出的异常, 也没有详细的错误信息, 难以想到原因
参考:
[https://yq.aliyun.com/articles/539735](https://yq.aliyun.com/articles/539735)
$dir = 'files/'. date('Ymd');
//$file_path = $file->store($dir); // laravel自动判断文件后缀, 生成文件名 不能自定义文件名
$oname = $file->getClientOriginalName();
// $ext = strtolower($file->extension());//根据文件内容获取后缀
$ext = substr($oname,strrpos($oname,'.')+1); // 根据文件名获取后缀
$new_file_name = Str::random(40) . '.' . $ext;
$file_path = $file->storeAs($dir, $new_file_name);// 可以自定义文件名