【问题标题】:FB API Cookie Header ErrorFB API Cookie 标头错误
【发布时间】:2012-12-17 08:29:52
【问题描述】:

我有以下代码:

require '../lib/facebook-php-sdk/src/facebook.php';

$facebook = new Facebook(array(
'appId'  => '143944345745133',
'secret' => 'xxxxxxxx',
'cookie' => true,
));

$user = $facebook->getUser();

if ($user) {
   try {
      $user_profile = $facebook->api('/me');
   } catch (FacebookApiException $e) {
      $user = 0;
   }
} 
if ($user) { 
  setcookie('loggedUserId', $user, time()+36000);
  setcookie('loggedUserName', $user_profile['name'], time()+36000);
} else {
  setcookie('loggedUserId', '', time()-3600);
  setcookie('loggedUserName', '', time()-3600);
} 

我在我的 php 错误日志文件中得到了错误:

[17-Dec-2012 06:11:34 UTC] There exists a cookie that we wanted to clear that we 
couldn't clear because headers was already sent. Make sure to do the 
first API call before outputing anything.

请帮我解决它。结果用户体验是我登录后需要重新加载页面才能真正登录。 谢谢

【问题讨论】:

    标签: php cookies http-headers facebook-php-sdk


    【解决方案1】:

    您的代码中的某些内容在调用 setcookie 之前输出了某些内容。它可能是一条调试消息。甚至在打开

    【讨论】:

    • 没有多余的行。甚至尝试了 dos2unix 以确保没有多余的空间/行
    • 然后以二进制搜索方式删除行以找出引入此错误的违规行。从 setcookie('loggedUserName', '', time()-3600); 开始看看它是否可以自己运行。
    猜你喜欢
    • 1970-01-01
    • 2014-06-18
    • 2011-10-03
    • 2013-06-07
    • 2016-03-30
    • 1970-01-01
    • 2017-02-03
    • 2016-08-04
    • 1970-01-01
    相关资源
    最近更新 更多