Facebook SDK for PHP

Installs: 1 381 282

Dependents: 123

Stars: 920

Watchers: 157

Forks: 509

Open Issues: 10

5.1.2 2015-11-19 21:07 UTC


Build Status Scrutinizer Code Quality Latest Stable Version

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


The Facebook PHP SDK can be installed with Composer. Run this command:

composer require facebook/php-sdk-v4

Upgrading to v5.x

Upgrading from v4.x? Facebook PHP SDK v5.x introduced breaking changes. Please read the upgrade guide before upgrading.


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

Simple GET example of a user's profile.

$fb = new Facebook\Facebook([
  'app_id' => '{app-id}',
  'app_secret' => '{app-secret}',
  'default_graph_version' => 'v2.5',
  //'default_access_token' => '{access-token}', // optional

// Use one of the helper classes to get a Facebook\Authentication\AccessToken entity.
//   $helper = $fb->getRedirectLoginHelper();
//   $helper = $fb->getJavaScriptHelper();
//   $helper = $fb->getCanvasHelper();
//   $helper = $fb->getPageTabHelper();

try {
  // Get the Facebook\GraphNodes\GraphUser object for the current user.
  // If you provided a 'default_access_token', the '{access-token}' is optional.
  $response = $fb->get('/me', '{access-token}');
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  // When Graph returns an error
  echo 'Graph returned an error: ' . $e->getMessage();
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  // When validation fails or other local issues
  echo 'Facebook SDK returned an error: ' . $e->getMessage();

$me = $response->getGraphUser();
echo 'Logged in as ' . $me->getName();

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:
$ ./vendor/bin/phpunit

By default the tests will send live HTTP requests to the Graph API. If you are without an internet connection you can skip these tests by excluding the integration group.

$ ./vendor/bin/phpunit --exclude-group integration


For us to accept contributions you will have to first have signed the Contributor License Agreement. Please see CONTRIBUTING for details.


Please see the license file for more information.