我一直在Windows 10的命令提示符中使用Laravel,但是在项目之间切换的困难使我转而使用Homestead。但是,在我从那里开始的一个新项目中,我无法终生获得cookie。这是我当前的代码(仅用于调试此问题):
use Illuminate\Support\Facades\Cookie;
// ......
public function __construct(Request $request) {
$customer_id = Cookie::get('customer_id');
if(!$customer_id) {
Cookie::queue('customer_id', time(), 3600);
}
dd($customer_id);
}
预期输出:在连续的页面加载中,访问者将看到与最初打开页面时相同的unix时间戳(我知道这不是处理它的好方法,同样,这只是为了重现错误。)
现实:每个页面加载都会产生不同的时间戳。
我已经找到了尽可能多的讨论。我尝试过的解决方案:
然而,在应用了上述所有方法之后,每次加载页面后cookie仍然消失了。
由于我以前没有通过Xampp的PHP这样的问题,所以我不得不假设Vagrant存在(希望)一个琐碎而明显的问题,我还不知道。任何建议表示赞赏!
排队的cookie仅与响应一起发送,因此请确保您的控制器函数确实返回一个。