将 Laravel 5.1.17 升级到 5.2。我的 config/auth.php
原本包含:
'driver' => 'eloquent',
'model' => 'Project\User',
'table' => 'users',
新文件与默认文件相同,只是更新了命名空间。
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => Project\User::class,
],
],
我的环境变量SESSION_DRIVER
是redis
。我没有从Redis中清除任何内容。(请注意,这也发生在我的其他项目中,其中驱动程序为file
,但是我对它们不太关心。)
我有两个分支,L5.2和master(在5.1.7上)。 切换分支后,我只需运行composer install
如果我在master上登录,然后切换到L5.2,我就会注销
如果我切换回master,我就会再次登录
如果我在L5.2上登录,然后切换到master,我会保持登录状态
如果我切换回L5.2,我会保持登录状态
如果升级会使所有用户的会话无效并强制他们重新登录,我会犹豫不决。有没有办法避免这种情况?
唯一修改的文件是composer.json
,composer.lock
,app/Exceptions/Handler.php
和config/app.php
; 没有涉及Auth。
composer.json
,composer.lock
等四个文件被更改了,但实际上你也改变了其他文件(例如app/Http/routes.php
以包括web
中间件)。在切换分支时,你是否还更改了其他文件?我是指像Kernel.php
这样的文件? - Marcin Nabiałekhttps://github.com/laravel/laravel
并将其与您的app
文件夹进行比较,以查看所有差异,然后将所有必要的更改与您的代码合并。 - Marcin Nabiałekconfig/auth.php
,这是问题的主要部分。虽然比较是个好主意,我会尝试一下。 - andrewtweber