说下这次血的教训吧? 熟悉我的人,可能知道我的这个小站 是由 Laravel 建立的,目前我的版本变更为 Laravel 6.x 了,然后今天我发现所有客户端,所有人都登陆着我的账号。我靠,把我给吓了一跳。(幸亏是我最近才开始升级写的,也没几天)

赶紧找原因,分析问题。找了半天发现是我使用 laravel-s 引发的问题。

找到了这个 pr :https://github.com/hhxsv5/laravel-s/issues/109

接下来还原事故发生

首先我最开始 安装 laravel-s

composer require "hhxsv5/laravel-s:~3.5.0" -vvv

然后 发布配置文件

php artisan laravels publish

然后就是启动了

php bin/laravels start

我是采用配合 Nginx 进行配置。 Nginx 就不写了。在这里可以看到 如何使用 Nginx 。https://github.com/hhxsv5/laravel-s/blob/master/README-CN.md#%E4%B8%8Enginx%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8%E6%8E%A8%E8%8D%90

就这样我就发布出去了。配置文件看都没看.........

然后就引发了,在一处登录后,所有设备均显示已登录;或者说串号什么之类的问题......

唉。解决方案也很简单。修改 laravels.php 配置文件,将 SessionCleanerAuthCleaner 文件注释删掉

'cleaners'  => [
    // If you use the session/authentication/passport in your project
     Hhxsv5\LaravelS\Illuminate\Cleaners\SessionCleaner::class,
     Hhxsv5\LaravelS\Illuminate\Cleaners\AuthCleaner::class,

    // If you use the package "tymon/jwt-auth" in your project
    // Hhxsv5\LaravelS\Illuminate\Cleaners\SessionCleaner::class,
    // Hhxsv5\LaravelS\Illuminate\Cleaners\AuthCleaner::class,
    // Hhxsv5\LaravelS\Illuminate\Cleaners\JWTCleaner::class,

    // If you use the package "spatie/laravel-menu" in your project
    // Hhxsv5\LaravelS\Illuminate\Cleaners\MenuCleaner::class,
    // ...
],

这样就好了。但是以防万一,我还是把 storage/framework/sessions 文件删除了。

唉,惨痛的教训啊。之前的版本出现过一次这个问题,没想到我在同一个坑又踩了一次.......所以赶紧写出来,以防我再次踩坑第三次。。。。

版权许可

本作品采用 知识共享署名 4.0 国际许可协议 进行许可。

转载无需与我联系,但须注明出处,注明文章来源 Laravel 使用 laravel-s 引发登陆状态问题(所有终端都登陆)

联系我

编程怪事
暂无回复
0 / 180