Laravel 4 - Cookies不保存在本地服务器上

时间:2013-04-08 07:26:18

标签: cookies laravel laravel-4

在我的文档之后,我创建了一个cookie,在我的本地虚拟主机(indgo.dev)上持续“永久”(5年)。

所以这个:

 $cookie = Cookie::forever('hash',$project['hash']);
  dd($cookie);

输出:

object(Symfony\Component\HttpFoundation\Cookie)#436 (7) {
  ["name":protected]=>
  string(4) "hash"
  ["value":protected]=>
  string(360) "eyJpdiI6IlNJcUJZSElRTlwvQ0dJU3Z4dE44VFwvYjJ3U3lpckRZY2xsV3NlWTJ5VHJ1dz0iLCJ2YWx1ZSI6IkFHeFJGOXhjSzZxTkhZWGpIMiszUWZ5eXBUT2xuMTZFalpXdVZ3VW1CYUh1SmxKZUNPMk1rSFhONFk4REVkMzBtWlluWVhWU21uVHJXMDllKytmYm5idk5IVTNcLzIrUEgyZ3dsVllVTERyeTROU1lKUHUwb1ZpRll2V1JmU0Z4bSIsIm1hYyI6Ijc1YzcyODlkOTU0MGQ3ZjEyMDJhNjk5ZWNhOWY2ZWNhMGRhNzU4NjZiOTAwNGUzMjY1MzI2YjhhNGZjMWVhMzgifQ=="
  ["domain":protected]=>
  NULL
  ["expire":protected]=>
  int(1523085636)
  ["path":protected]=>
  string(1) "/"
  ["secure":protected]=>
  bool(false)
  ["httpOnly":protected]=>
  bool(true)
}

但是,当我尝试在 一个不同的请求 上获取Cookie时:

$hash = Cookie::has('hash');
    dd($hash);

我得到false(或null如果我使用get方法)

使用Chrome开发工具我发现确实没有显示Cookie。列出的唯一内容是laravel_payloadlaravel_session

更新:当我登录新的remember_me Cookie 由<{1}}类创建时

2 个答案:

答案 0 :(得分:5)

您没有在回复中发送Cookie。尝试

$cookie = Cookie::forever('hash',$project['hash']);
return Response::make()->withCookie($cookie);

在第一个请求上,然后尝试获取cookie。

答案 1 :(得分:0)

我遇到了cookie的问题。为了防止Laravel 4新手,如果您需要设置cookie,您需要将cookie发送到任何响应。在我的情况下,我显示一个闪屏,需要设置&amp;检查用户何时访问该站点。启动画面具有以下内容:

if(Input::get('splash') || Cookie::get('splash')) {
    $cookie = Cookie::forever('splash', 'checked');
    return Redirect::route('home')->withCookie($cookie);
} else {
    //show the splash screen with the form which has the splash = 1 as a hidden input
}