2014-05-07 3 views
9

Non capisco il motivo per cui sto ottenendo questo eccezioni:FacebookSDKException: sessione non è attivo, non poteva memorizzare lo stato

Session not active, could not store state. 

Il codice è:

<?php 

require 'vendor/autoload.php'; 

use Facebook\FacebookSession; 
use Facebook\FacebookRedirectLoginHelper; 

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

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

?> 

prega di aiuto.

risposta

40

È necessario avviare una sessione utilizzando session_start() affinché l'SDK di Facebook funzioni correttamente. Si prega di aggiungere questo al codice per risolvere il problema.

Esempio:

<?php 

session_start(); 

require 'vendor/autoload.php'; 

use Facebook\FacebookSession; 
use Facebook\FacebookRedirectLoginHelper; 

... 
+0

Se non si desidera utilizzare il valore predefinito $ _SESSION per memorizzare lo stato, è possibile [estendere la classe storeState utilizzando questo esempio collegato] (https://github.com/ facebook/facebook-php-sdk-v4/temi/39 # issuecomment-42.363.729). L'esempio usa le sessioni di Laravel ma puoi usare quello che vuoi all'interno della tua estensione. –

+0

Yupp che ha funzionato per me, grazie mille @Niraj Shah. Ho dimenticato di usare redirectloginhelper. – Akilsree1

+1

Mi stai prendendo in giro ... Per tutto questo tempo stavo esaminando la sessione di Facebook ... – Slavic