【问题标题】:Laravel Session Returns NULLLaravel 会话返回 NULL
【发布时间】:2019-06-08 08:09:12
【问题描述】:

我的 Laravel 5.5 实例在 localhost 上运行良好,但是,当我将它上传到服务器时,会话不起作用。我已经给数据库设置了会话驱动,可以看到数据库中存储的数据。

问题是读取会话总是返回 null。

function index(Request $request)
{
    if ($request->input('set_sess')) {
        try {
            $request->session()->put('test', 'xxx');
            $request->session()->save();
        } catch (\Exception $e) {
            dd($e->getMessage());
        }
        dd('session was set');
    }

    if ($request->input('get_sess')) {
        dd($request->session()->get('test'));
    }
}

session.php

'driver' => env('SESSION_DRIVER', 'database'),
'encrypt' => false,
'connection' => 'mysql',
'table' => 'sessions',
'domain' => 'example.com',
'secure' => false,

.env

APP_NAME=examplename
APP_ENV=local
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://example.com

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=database
SESSION_LIFETIME=120

【问题讨论】:

  • 你能不能简单地使用 session(['key', 'value']);会话('键)
  • 您可以尝试在您的session.php 配置中将'secure' => true 更改为'secure' => false,因为您没有HTTPS。
  • @Remul 我试过 "false" 但没用。
  • 更改值后可以运行php artisan config:clear吗?

标签: php laravel laravel-5


【解决方案1】:

请试试这个: (你不需要->save()

替换:

$request->session()->put('test', 'xxx');
$request->session()->save();

与:

session()->put('test', 'xxx');

【讨论】:

  • 没有任何区别。
猜你喜欢
  • 2017-07-03
  • 2017-01-12
  • 1970-01-01
  • 2012-11-25
  • 2016-09-23
  • 2015-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多