Erreur: la Classe de Facebook\FacebookSession' ne trouve pas avec le facebook SDK PHP
Je vais avoir un moment difficile avec facebook de la documentation du kit de développement. J'ai téléchargé le SDK à partir de Github et de l'ajouter dans mon projet PHP.
Ici est le système de fichiers:
├── Facebook
│ ├── FacebookAuthorizationException.php
│ ├── FacebookCanvasLoginHelper.php
│ ├── FacebookClientException.php
│ ├── FacebookJavaScriptLoginHelper.php
│ ├── FacebookOtherException.php
│ ├── FacebookPermissionException.php
│ ├── FacebookRedirectLoginHelper.php
│ ├── FacebookRequest.php
│ ├── FacebookRequestException.php
│ ├── FacebookResponse.php
│ ├── FacebookSDKException.php
│ ├── FacebookServerException.php
│ ├── FacebookSession.php
│ ├── FacebookThrottleException.php
│ ├── GraphLocation.php
│ ├── GraphObject.php
│ ├── GraphSessionInfo.php
│ ├── GraphUser.php
│ └── fb_ca_chain_bundle.crt
└── test.php
voici mon code pour l'instant:
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
FacebookSession::setDefaultApplication('*******','******');
$helper = new FacebookRedirectLoginHelper('http://isgeek.eu/fb/FaRepost/return.php');
$loginUrl = $helper->getLoginUrl();
//Use the login url on a link or button to redirect to Facebook for authentication
J'obtiens cette erreur
Fatal error: Class 'Facebook\FacebookSession' not found in /homepages/2/d184071366/htdocs/isgeek/fb/FaRepost/test.php on line 9
À jour ma version de PHP, donc le problème ne se pose pas comme ici. Il semble que le PHP, les fichiers ne sont pas trouvés. J'ai lu cette question ( Facebook SDK v4 pour PHP Exemple Minimal ), mais ça n'aide pas.
Où est-ce comme?
qu'est-ce que il y en facebooksession fichier,est-il une classe définie avec ce nom?
double possible de Facebook SDK v4 pour PHP Exemple Minimal
Le FacebookSession classe n'est plus disponible en v5.x de le SDK (qui est encore sous le php-sdk-v4 nom). Un blog qui vous aidera à passer de 4.x à 5.x de le SDK peut être trouvé ici. sammyk.me/mise à niveau-le-facebook-php-sdk-de-v4-v5
double possible de Facebook SDK v4 pour PHP Exemple Minimal
Le FacebookSession classe n'est plus disponible en v5.x de le SDK (qui est encore sous le php-sdk-v4 nom). Un blog qui vous aidera à passer de 4.x à 5.x de le SDK peut être trouvé ici. sammyk.me/mise à niveau-le-facebook-php-sdk-de-v4-v5
OriginalL'auteur Paul Fournel | 2014-05-09
Vous devez vous connecter pour publier un commentaire.
use packaname\classname
.use
est utilisé pour le chargement dynamique des classes à l'aide d'spl_autoload_register
autoload.php
ouautoload_fb.php
facebook-php-sdk-v4-4.0-dev/
.FACEBOOK_SDK_V4_SRC_DIR
c'est à dire le chemin de l'facebook de la bibliothèqueRemarque: je l'ai copié
/var/www/stack/24006673/facebook-php-sdk-v4-4.0-dev/src/Facebook
répertoire et/var/www/stack/24006673/facebook-php-sdk-v4-4.0-dev/autoload.php
fichier dans le répertoire racine,/var/www/stack/24006673/
Je viens d'ajouter la ligne
require_once("autoload.php");
et cela a fonctionné merciOriginalL'auteur
J'ai trouvé la solution ici
Je n'ai pas de code en php pour un certain temps maintenant, et les choses ont changé.
use Facebook\FacebookSession;
n'est pas assez. Vous avez besoin d'ajouter unrequire_once
trop.Edit: pour une vue plus détaillée de la solution, merci de la caisse de la réponse ci-dessous.
Vous devez inclure autoload.php téléchargé à partir de votre bibliothèque comme facebook-php-sdk-v4-4.0-dev/. La réponse est fournie ci-dessous
pouvez-vous s'il vous plaît poster votre exemple de code ici, je l'ai fait et sa ne marche pas ,j'ai essayé presque toutes les façons, il mentionne toujours le même message d'erreur classe pas trouvé
J'ai ajouté la réponse à cette question. Aussi, vous pouvez consulter ce lien stackoverflow.com/questions/23413854/...
OriginalL'auteur
Ce code a fonctionné pour moi
require_once()
. Ce n'est pas Facebook suggère. L'utilisation de l'espace de noms autoload approche à la place.OriginalL'auteur
Vous devez être prudent avec tous les chemins!
Je ne vois pas "autoload.php" dans votre système de fichiers. Dans mon cas, j'ai mis le contenu du SDK PHP dans le répertoire "fb", et d'utiliser les chemins d'accès (ajouté DIR . dans la "définition" de la ligne en comparaison avec l'exemple de https://developers.facebook.com/docs/php/gettingstarted/4.0.0)
Il a contribué à éviter ce genre d'erreur.
OriginalL'auteur
Pas besoin d'utiliser
require
ouinclude
.Je l'ai résolu. Utilisez simplement la ligne suivante en haut de votre script:
et vous avez terminé.
OriginalL'auteur
-il suffit d'ajouter ce code .elle fonctionne.
entrez votre app_id et app_secret de votre facebookAPP
OriginalL'auteur
Renommer tous les Facebook des fichiers et des répertoires en minuscules. L'Auto-chargement sur *nix automatiquement en petit caractère de tous les noms de fichiers.
Vous pouvez toujours répéter le processus après la mise à jour. J'admets que ce était une solution rapide, je l'ai fait sans examiner s'il existe une meilleure solution, mais cette solution a fonctionné parfaitement.
OriginalL'auteur