美文网首页
lavarel session 不生效或每次刷新重新生成问题的终

lavarel session 不生效或每次刷新重新生成问题的终

作者: 哈哈新开张 | 来源:发表于2020-06-12 13:39 被阅读0次

2016年接触的lavarel,其实当时这些问题已经搞清楚了,不过当时只用了半天的lavarel就一直用tp,四年后再用忘记了很多关键的事情,再此记忆下,网上查了很多相关的问题,都没有说到真正的点上.lavarel中session使用的不是php原生的session方法,所以用原生的$_SESSION是取不到值的,它是lavarel作者自己的一套机制实现的,不管是门面的session还是使用函数,用put方法存储后再用get是无法取到的.不说废话了,记住下面的话

lavarel 再调试的过程中,不要使用die或dd去打印,这样会导致整个方法没有完全执行就结束了.
出现上面的原因是因为使用了die或dd方法,导致各种问题,put后不需使用save方法,直接return即可.

上面只是调试过程中,在实际使用时,默认session是只在当前页面生效,如果需要跨路由器生效,需要在路由里配置web中间件形如下

Route::group(['middleware'=>'web'],function() {
Route::get('reward/replyDetails/{id}','WechatController@replyDetails'); //稿件详情,可查看,可编辑
Route::post('reward/upload','WechatController@upload'); //上传文件
Route::get('reward/index','WechatController@rewardIndex'); //企业微信入口,主要获取用户信息
Route::get('reward/edit/{id}','WechatController@rewardEdit'); //悬赏编辑
Route::get('reward/details/{id}','WechatController@rewardDetails'); //悬赏详情
Route::post('reward/replySave','WechatController@replySave'); //稿件保存
Route::get('reward/replyEdit/{id}','WechatController@replyEdit'); //稿件编辑
Route::get('reward/add','WechatController@rewardAdd'); //新增悬赏
Route::any('reward/save','WechatController@rewardSave'); //悬赏保存
Route::any('reward/list','WechatController@rewardList'); //悬赏列表
Route::any('reward/replyList','WechatController@rewardReplyList'); //稿件列表
Route::any('reward/sendMessage/{id}/{type}','WechatController@sendMessage'); //发送应用消息
});

而且还需要在Kernel.php中添加
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,

至此才算结束哦.祝你好运,我倒腾了一天.

相关文章

网友评论

      本文标题:lavarel session 不生效或每次刷新重新生成问题的终

      本文链接:https://www.haomeiwen.com/subject/gtvgtktx.html