Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话不是用Laravel 5编写的_Php_Laravel_Session_Laravel 5 - Fatal编程技术网

Php 会话不是用Laravel 5编写的

Php 会话不是用Laravel 5编写的,php,laravel,session,laravel-5,Php,Laravel,Session,Laravel 5,我在寻求善意的帮助 我重新安装了Laravel(此时为5.2.15)。 我没有用宅基地。 I chmod‘storage’目录和子目录,如文档所示,授予写入权限。 会话配置为默认,未触摸任何内容。所以会话驱动程序是“文件”,路径是“框架/会话” 我编写了以下测试路线: Route::get('/', function () { session(["test" => "ok"]); return view('welcome'); }); Route::get('/2', f

我在寻求善意的帮助

我重新安装了Laravel(此时为5.2.15)。 我没有用宅基地。 I chmod‘storage’目录和子目录,如文档所示,授予写入权限。 会话配置为默认,未触摸任何内容。所以会话驱动程序是“文件”,路径是“框架/会话”

我编写了以下测试路线:

Route::get('/', function () {
    session(["test" => "ok"]);
    return view('welcome');
});

Route::get('/2', function () {
    print "session = ".session('test');exit();
});
这难道不足以让会话正常工作吗? 会话('test')为空,并且框架/会话中未写入任何文件。 Chmoded 777 framework/sessions文件夹确保没有更改

我是拉威尔的新手。。也许我错过了什么? 我需要在config/session.php中设置这些变量吗

'path' => '/',
'domain' => null,
谢谢

试试这个:

Route::get('/', function () {
    Session::put('test', 'ok');
    return view('welcome');
});

Route::get('/2', function () {
    print "session = ".Session::get('test');exit();
});
试试这个:

Route::get('/', function () {
    Session::put('test', 'ok');
    return view('welcome');
});

Route::get('/2', function () {
    print "session = ".Session::get('test');exit();
});

如果打开app/Http/Kernel.php,您将看到会话类是“web”组的一部分,因此默认情况下不包括它:

 protected $middlewareGroups = [
        'web' => [
        ...
            \Illuminate\Session\Middleware\StartSession::class,
        ...
        ]
 ]
因此,您必须使用“web”中间件将您的路由封装在一个组中,或将“web”中间件分别添加到每个路由:

Route::group(['middleware' => ['web']], function() {
    Route::get('/', function () {
        session()->put('test', 'ok');
        return view('welcome');
    });

    Route::get('/2', function () {
        return 'session = ' . session('test');
   });
}

如果打开app/Http/Kernel.php,您将看到会话类是“web”组的一部分,因此默认情况下不包括它:

 protected $middlewareGroups = [
        'web' => [
        ...
            \Illuminate\Session\Middleware\StartSession::class,
        ...
        ]
 ]
因此,您必须使用“web”中间件将您的路由封装在一个组中,或将“web”中间件分别添加到每个路由:

Route::group(['middleware' => ['web']], function() {
    Route::get('/', function () {
        session()->put('test', 'ok');
        return view('welcome');
    });

    Route::get('/2', function () {
        return 'session = ' . session('test');
   });
}

可能的副本签出链接副本。如果需要会话,您的路由应该在
web
中间件组中定义。可能的重复项请签出链接的重复项。如果需要会话,您的路由应该在
web
中间件组中定义。谢谢,这解决了我的问题。我阅读了整个文档,但不清楚这一步是否必要。完全谢谢,谢谢,这解决了我的问题。我阅读了整个文档,但不清楚这一步是否必要。完全非常感谢。