无法在laravel 5.2

时间:2016-05-25 14:10:26

标签: laravel

我最近将我的应用程序从laravel 5.1升级到5.2版本。此外,我正在尝试将数据库中的会话存储在当前存储在文件中。

我已将.env文件更改为包含SESSION_DRIVER = database。我还更改了session.config文件以包含' driver' => env(' SESSION_DRIVER','数据库')并生成所需的会话表。

但是当我尝试登录应用程序时,我在VerifyCsrfToken.php第67行中获取了TokenMismatchException:如果我更改了SESSION_DRIVER = file,那么应用程序正在按预期工作。

但是在Laravel 5.1版本中并非如此。

Laravel 5.2版本有哪些变化,以及在数据库中存储用户会话需要哪些步骤?

2 个答案:

答案 0 :(得分:3)

我自己也必须处理这个问题。因此,最初的步骤正如您在问题中已经提到的那样。

  • 在全新安装laravel并验证一切正常后,将SESSION_DRIVER=file更改为SESSION_DRIVER=database

  • 在您的应用目录中的控制台中运行以下命令IN ORDER:

    php artisan session:table
    composer dump-autoload
    php artisan migrate
    
  • (此步骤可能与您所做的不同)在您的config \ session.php文件中搜索:

    'driver' => env('SESSION_DRIVER', 'file'),
    

    并将其更改为以下

    'driver' => env('SESSION_DRIVER', 'app.database'),
    
  • 在同一个config \ session.php文件中,将加密配置更改为true

  • 正确设置连接和表名设置

     'connection' => 'database_name_here',
     'table' => 'sessions', //here you can change but sessions is recommended until you get more comfortable with how it all works
    
  • 尝试登录您的应用程序并检查您的数据库以查看它是否全部有效。

如果需要更多帮助,您还可以查看帮助我解决问题的一些资源。请记住,这些资源是有类似问题的人,但也许你的问题与他们的问题类似。找出方法的唯一方法就是调查。希望这可以帮助! =):

https://laracasts.com/discuss/channels/laravel/how-to-store-users-id-in-session-table-laravel-5

https://laravel.com/docs/5.2/session

(Laravel Sessions上的视频教程,非常适合帮助您到达目的地的好地方!) https://www.youtube.com/watch?v=-FMecyZs5Cg

答案 1 :(得分:-1)

看起来可以手动使用它,但为什么不使用php artisan make:auth 它创建了身份验证所需的所有内容,还可以帮助您保持会话而不是手动操作?