在我的文档之后,我创建了一个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_payload
和laravel_session
。
更新:当我登录新的remember_me
Cookie 由<{1}}类创建时
答案 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
}