Laravel auth会话cookie不发送

The*_*nda 2 php apache cookies json laravel

所以我有一个非常基本的Laravel登录脚本

$email = Input::get('email');
$password = Input::get('password');
if(Auth::attempt(array('Email'=>$email, 'password'=>$password), true)){
    return Response::json(array('success' => true,'logged_in'=>Auth::check() ));
}
Run Code Online (Sandbox Code Playgroud)

我正在使用有效的电子邮件和密码登录.我将"logged_in"作为测试放在响应数组中,并在尝试后返回true.但是,响应中不会返回"laravel_session"cookie,后续调用也不会将用户视为已登录.这只发生在我的生产服务器上,我的本地环境和测试环境都没有问题.

另外注意,我注意到Response :: json返回text/html MIME类型,而不是application/json.我不确定是什么原因引起的,所以我只是将jQuery.ajax dataType设置为"json"来绕过它.这只发生在我的生产服务器上.我完全没有关于这个的想法,并且非常感谢一些帮助.

The*_*nda 6

伙计,我忘了我问过这个问题.但我最终找到了答案,这真的很傻但很重要,所以我现在就回答.

在我的一个配置文件中,有人(可能是我)在<?PHP文件开头之前插入了一个空格.这是在设置任何标头之前,因此不允许更改它们(意味着不能设置cookie),因为数据已经写入输出流.所以如果你正在寻找发生这种情况的原因,请确保你找到了.

  • 我从心底里爱你。 (5认同)