2011-08-01 22 views
5

我通常只使用facebook javascript api,但登录开始给我带来麻烦,所以我试着用PHP api。这是我的头API调用:请求Facebook PHP Api时出错?

<? 
require 'stuff/facebook-php/src/facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'my app id', 
    'secret' => 'secret', 
)); 

// Get User ID 
$user = $facebook->getUser(); 
?> 

我得到我的网站上的消息:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/02/6945202/html/copoetry/index.php:6) in /home/content/02/6945202/html/copoetry/stuff/facebook-php/src/facebook.php on line 37 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/02/6945202/html/copoetry/index.php:6) in /home/content/02/6945202/html/copoetry/stuff/facebook-php/src/facebook.php on line 37 

难道我做错了什么或可能是什么问题?由于

+0

嗯。并打开标签应该是<?php – ThatGuy

回答

7

“无法发送会话cookie - 标题已经发出错误”

意味着你已经输出的页面上的一些数据,然后试图设置标题。必须在任何html输出之前发送标题。

ALSO

“无法发送会话cookie - 已经发送了头” 往往当 文件以UTF-8在Windows下编码的BOM来。当在UNIX服务器上传输 时,BOM将被视为文本并在您可以定义的任何 标头之前发送。

开始会话之前,确保开<?php标签前或结束后,以消除任何空格,换行,或其他垃圾 ?>

+0

我必须在任何代码之前连接到api吗? – lisovaccaro

+0

好。无论你在做什么都需要会话,而这又需要设置cookie,在将任何内容输出到页面之后无法完成。 – ThatGuy

+1

检查您的php文件是否设置了正确的编码设置:ANSI或UTF-8,无BOM! – ThatGuy

2

确保你没有任何输出字符串(包括错误) 。

不要使用?>如果你确信你的文件的最后一行是PHP代码

<?php 
require 'stuff/facebook-php/src/facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'my app id', 
    'secret' => 'secret', 
)); 

// Get User ID 
$user = $facebook->getUser(); 
相关问题