无法在Laravel 4.2中创建cookie /会话

时间:2014-09-02 20:52:18

标签: php session cookies laravel

无处不在,我的 Laravel(4.2)应用停止创建Cookie(因此,它停止将这些Cookie与会话相关联)。我在另一篇文章中看到了这个测试:

// routes.php

Route::get('cookieset', function(){
    $cookie = Cookie::make('foo', 'bar', 60);
    return Redirect::to('cookieget')->withCookie($cookie);
});

Route::get('cookieget', function(){
    dd(Cookie::get('foo'));
});

因此,如果我在浏览器中打开 / cookieset ,则会在 Reditect ::之前创建cookie本身(可以 dd($ cookie))到()。我得到了这个结果:

 object(Symfony\Component\HttpFoundation\Cookie)#165 (7) {
     ["name":protected]=> string(3) "foo"
     ["value":protected]=> string(3) "bar"
     ["domain":protected]=> NULL
     ["expire":protected]=> int(1409694104)
     ["path":protected]=> string(1) "/"
     ["secure":protected]=> bool(false)
     ["httpOnly":protected]=> bool(true)
 }

但是,当重定向到 / cookieget 时,我得到了 NULL 结果。

浏览器(谷歌浏览器)没有任何“foo”cookie。

我在其他Laravel项目中尝试过相同的代码并且工作正常。我不记得改变任何可能破坏框架的东西。我还更新了框架(到4.2.8),我得到了相同的结果。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

已解决:显然,我的routes.php文件就是问题所在。它可能在某处有一些“奇怪”的白色字符,因此cookie(因此会话)永远不会被创建。我刚刚创建了一个新的routes.php文件,现在一切正常。