2011-08-01 3 views
5

나는 보통 facebook javascript API 만 사용하지만 로그인이 나에게 문제가되어 PHP API를 사용하려고합니다.Facebook PHP Api를 요청할 때 오류가 발생 했습니까?

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 

내가 뭔가 잘못하고 있는가 또는 무엇이 문제가 될 수 : 내 사이트에 이러한 메시지를 얻을

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

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

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

:이 API를 내 헤더에 전화입니까? 감사합니다

+0

음이다. 여는 태그는 ThatGuy

답변

7

"세션 쿠키를 보낼 수 없습니다 - 헤더가 이미 전송 오류"

당신이 페이지에서 일부 데이터를 출력 한 후 헤더를 설정하려고했습니다 의미합니다. 헤더는 html 출력 전에 보내야합니다.

는 또한

는 "세션 쿠키를 보낼 수 없습니다 - 이미 보낸 헤더를" 파일을 Windows에서 BOM 함께 UTF-8로 인코딩 할 때 자주 온다. UNIX 서버에서 을 전송하면 BOM은 텍스트로 간주되어 정의 할 수있는 헤더 전에 전송됩니다.

하면 세션을 시작하기 전에 오프닝 <?php 태그 이전 또는 폐쇄 후 공백, 줄 바꿈, 또는 다른 쓰레기 을 제거해야합니다 ?>

+0

코드 전에 api에 연결해야합니까? – lisovaccaro

+0

잘. 당신이하는 일은 세션을 필요로하는데, 그 세션에는 차례대로 쿠키를 설정해야합니다. 쿠키는 페이지에 아무 것도 출력하지 않은 후에는 수행 할 수 없습니다. – ThatGuy

+1

PHP 파일에 올바른 인코딩이 설정되어 있는지 확인하십시오 : BOM이없는 ANSI 또는 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(); 
관련 문제