登录和注销有时仅在页面刷新后可见

我已经搜索了所有主题,但没有任何帮助。在我的 Laravel 安装中,有时您必须在登录和注销后重新加载页面才能使其可见。极少情况下您根本没有登录或退出。


我使用 Laravel 5.6.39。


登录控制器


namespace App\Http\Controllers\Auth;


use App\Http\Controllers\Controller;

use Auth;

use Illuminate\Foundation\Auth\AuthenticatesUsers;

use Illuminate\Http\Request;

use Illuminate\Support\Facades\Redirect;

use Session;


class LoginController extends Controller

{

    use AuthenticatesUsers;


    protected $redirectTo = '/';


    public function __construct()

    {

        $this->middleware('guest')->except('logout');

    }


    protected function authenticated(Request $request, $user)

    {

    }


    public function logout()

    {

        Auth::logout();

        Session::flush();

        return Redirect::to('/');

    }

}

配置/会话.php


return [


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

    'lifetime' => env('SESSION_LIFETIME', 120),

    'expire_on_close' => false,

    'encrypt' => true,

    'files' => storage_path('framework/sessions'),

    'connection' => 'mysql',

    'table' => 'sessions',

    'store' => null,

    'lottery' => [2, 100],

    'cookie' => env(

        'SESSION_COOKIE',

        str_slug(env('APP_NAME', 'laravel'), '').'session'

    ),


    'path' => '/',

    'domain' => env('SESSION_DOMAIN', null),

    'secure' => env('SESSION_SECURE_COOKIE', false),

    'http_only' => true,

    'same_site' => null,

];

RedirectIfAuthenticated.php中间件


<?php


namespace App\Http\Middleware;


use Closure;

use Illuminate\Support\Facades\Auth;


class RedirectIfAuthenticated

{

    public function handle($request, Closure $next, $guard = null)

    {

        if (Auth::guard($guard)->check()) {

            return redirect('/');

        }


        return $next($request);

    }

}

我还尝试更改 cookie 名称,定义 cookie 域,将会话从文件更改为数据库。没有任何帮助。


潇潇雨雨
浏览 155回答 1
1回答

开心每一天1111

尴尬的错误。PHP-FPM 在服务器设置中被激活,它将完整的 PHP 请求放入缓存中。没有 FPM,Laravel 页面可以正常工作。
打开App,查看更多内容
随时随地看视频慕课网APP