菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
1524
0

Session store not set on request.

原创
05/13 14:22
阅读数 2286

今天在把钉钉小程序从本地 web 环境迁移到线上的时候出现了这个小问题,主要是本地环境使用的是 web 路由,线上使用的是 api 路由,而 laravel5.5kernel.php 中间件组里并没有为 api 路由添加相关中间件导致

最直接的解决办法就是在 App\Http\kernel.php 里的 protected $middleware 里添加中间件

    protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
        \App\Http\Middleware\TrustProxies::class,
        \Illuminate\Session\Middleware\StartSession::class,//添加中间件
        // \App\Http\Middleware\EnableCrossRequestMiddleware::class,
    ];

但是由于线上开发环境主管做了文件修改限制,所以只能选择直接在路由组里添加

$api->group(['namespace'=>'App\Http\Controllers\Api\Mark','prefix'=>'mark','middleware'=>'\Illuminate\Session\Middleware\StartSession::class'],function($api){

$api->post('userInfo',"MdetailsController@userInfo");

$api->post('mdetails',"MdetailsController@create");

$api->get('alias',"MdetailsController@alias");

$api->get('mtypes',"MtypesController@index");

});

发表评论

0/200
1524 点赞
0 评论
收藏
为你推荐 换一批