2011-08-01 28 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

MMMであることを確認している場合

?>を使用しないでください。オープンタグは<?php – ThatGuy

答えて

7

「セッションクッキーを送信することはできません - ヘッダが既に送信されるエラーは、」

は、ページ上のいくつかのデータを出力して、ヘッダーを設定しようとしたことを意味します。ヘッダーは、html出力の前に送信する必要があります。

は "セッションクッキーを送信することはできません - すでに送られたヘッダを" ファイルはWindowsでBOM WITH UTF-8でエンコードされている場合が多い来ます。 UNIXサーバ上で を転送すると、BOMはテキストとみなされ、 ヘッダーの前に送信されます。

セッションを開始する前に(エラーを含む)任意の文字列を必ず出力されませんでしください開口部<?phpタグまたは終了後に?>

+0

コードの前にapiに接続する必要はありますか? – lisovaccaro

+0

あなたがやっていることはセッションを必要とします。セッションには、何かをページに出力した後ではできないクッキーを設定する必要があります。 – ThatGuy

+1

あなたのPHPファイルに正しいエンコードが設定されていることを確認してください:ANSIまたはBOMのないUTF-8! – 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(); 
関連する問題