Facebook SDK for PHP

Installs: 708 184

Dependents: 97

Stars: 758

Watches: 142

Forks: 421

Open Issues: 20

Language: PHP

4.0.23 2015-04-03 20:31 UTC


Latest Stable Version

This repository contains the open source PHP SDK that allows you to access Facebook Platform from your PHP app.


This version of the Facebook SDK for PHP requires PHP 5.4 or greater.

Minimal example:


// Skip these two lines if you're using Composer
define('FACEBOOK_SDK_V4_SRC_DIR', '/path/to/facebook-php-sdk-v4/src/Facebook/');
require __DIR__ . '/path/to/facebook-php-sdk-v4/autoload.php';

use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;


// Use one of the helper classes to get a FacebookSession object.
//   FacebookRedirectLoginHelper
//   FacebookCanvasLoginHelper
//   FacebookJavaScriptLoginHelper
// or create a FacebookSession with a valid access token:
$session = new FacebookSession('access-token-here');

// Get the GraphUser object for the current user:

try {
  $me = (new FacebookRequest(
    $session, 'GET', '/me'
  echo $me->getName();
} catch (FacebookRequestException $e) {
  // The Graph API returned an error
} catch (\Exception $e) {
  // Some other error occurred

Complete documentation, installation instructions, and examples are available at: https://developers.facebook.com/docs/php


1) Composer is a prerequisite for running the tests.

Install composer globally, then run composer install to install required files.

2) Create a test app on Facebook Developers, then create tests/FacebookTestCredentials.php from tests/FacebookTestCredentials.php.dist and edit it to add your credentials.

3) The tests can be executed by running this command from the root directory:



For us to accept contributions you will have to first have signed the Contributor License Agreement.

When committing, keep all lines to less than 80 characters, and try to follow the existing style.

Before creating a pull request, squash your commits into a single commit.

Add the comments where needed, and provide ample explanation in the commit message.