2014-05-07 9 views
9

Ich verstehe nicht, warum ich diese Ausnahmen bekommen:FacebookSDKException: Session nicht aktiv, kann nicht speichern Zustand

Session not active, could not store state. 

Der Code ist:

<?php 

require 'vendor/autoload.php'; 

use Facebook\FacebookSession; 
use Facebook\FacebookRedirectLoginHelper; 

FacebookSession::setDefaultApplication('foo', 'baz'); 

$helper = new FacebookRedirectLoginHelper('bar'); 
$loginUrl = $helper->getLoginUrl(); 

?> 

Bitte helfen.

Antwort

40

Sie müssen eine Sitzung mit session_start() starten, damit das Facebook SDK ordnungsgemäß funktioniert. Fügen Sie dies Ihrem Code hinzu, um das Problem zu beheben.

Beispiel:

<?php 

session_start(); 

require 'vendor/autoload.php'; 

use Facebook\FacebookSession; 
use Facebook\FacebookRedirectLoginHelper; 

... 
+0

Wenn Sie die Standard $ _SESSION nicht verwenden möchten, den Zustand zu speichern, können Sie [erweitern die storeState Klasse dieses verknüpft Beispiel mit] (https://github.com/ facebook/facebook-php-sdk-v4/issues/39 # issuecomment-42363729). In diesem Beispiel werden Laravel-Sitzungen verwendet, Sie können jedoch beliebig in Ihrer Erweiterung verwenden. –

+0

Yupp Das hat für mich funktioniert, Vielen Dank @Niraj Shah. Ich habe vergessen, redirectloginhelper zu verwenden. – Akilsree1

+1

Sie müssen mich verarschen ... Die ganze Zeit habe ich in Facebook Sitzung gesucht ... – Slavic