php - Laravel 身份验证 session cookie 未发送

标签 php json apache laravel cookies

所以我有一个非常基本的 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() ));
}

我正在使用有效的电子邮件和密码登录。我已将“logged_in”放入响应数组中作为测试,尝试后它返回 true。但是,响应中不会返回“laravel_session”cookie,并且后续调用不会看到用户已登录。这只发生在我的生产服务器上,我的本地环境和测试环境都可以正常工作。

另外,我注意到 Response::json 返回的是 text/html MIME 类型,而不是 application/json。我不确定是什么原因造成的,所以我只是将 jQuery.ajax dataType 设置为“json”来解决它。这也只发生在我的生产服务器上。我对此完全没有想法,非常感谢您的帮助。

最佳答案

在我的一个配置文件深处,有人(可能是我)在 <? 之前插入了一个空格。 PHP 文件的开头。这是在设置任何 header 之前,因此不允许更改它们(意味着无法设置 cookie),因为数据已经写入输出流。因此,如果您正在寻找为什么会发生这种情况,请务必找到它。

关于php - Laravel 身份验证 session cookie 未发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28774398/

相关文章:

javascript - 使用 JSON 传递对象

android - 如何在 Android 布局中显示 Html 内容?

regex - .htaccess - 定位除索引之外的所有内容(使用干净的 URL)

javascript - 更新 PHP 变量

php - XAMPP 不解析 PHP

php - Mysql LEFT JOIN 表正确过滤原始表

java - xstream可以反序列化复杂的数组吗?

rewritecond 中的 apache2 mod_rewrite 每个目录请求

php - .htaccess 重定向除 css 和 javascript 之外的所有扩展名

php - 目前印度的 PayPal 账户只能发送付款。该收款人没有资格获得资金