美文网首页
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