Я использую SDK для PHP для PHP. Я добавил php-файл facebook php в папку yii app protected / extension и импортировал его в config / main.php, как показано ниже.
'import' => array( 'application.extensions.facebook.*', ),
моя проблема в том, что приложение не находит классы в sdk, когда я создаю объект следующим образом:
$session = new FacebookSession($access_token);
он дает ошибку:
Fatal error: Class 'FacebookSession' not found ....
если я попытаюсь использовать include_once()
или require_once()
то он дает ошибку, как показано ниже:
Fatal error: Cannot redeclare class Facebook\FacebookSession in D:\localhost\protected\extensions\facebook\FacebookSession.php on line 36
Что происходит не так?
Решил это, добавив
set_include_path (Yii :: app () -> baseUrl. DIRECTORY_SEPARATOR. 'protected'. DIRECTORY_SEPARATOR. 'extensions'. DIRECTORY_SEPARATOR. 'facebook');
require_once (Yii :: app () -> baseUrl. DIRECTORY_SEPARATOR. 'protected'. DIRECTORY_SEPARATOR. 'extensions'. DIRECTORY_SEPARATOR. 'facebook'. DIRECTORY_SEPARATOR. 'autoload.php');
require_once (Yii :: app () -> baseUrl. DIRECTORY_SEPARATOR. 'protected' .DIRECTORY_SEPARATOR. 'extensions' .DIRECTORY_SEPARATOR. 'facebook'. DIRECTORY_SEPARATOR. 'src' .DIRECTORY_SEPARATOR. 'Facebook' .DIRECTORY_SEPARATOR. 'FacebookSession.php'). ;
и для создания объекта
$ session = new Facebook \ FacebookSession ($ access_token);
Nitin Просто скопируйте zip-файл вашего extnsion в свой защищенный / дополнительный каталог, а затем извлеките этот zip-файл, чтобы получить файл .php, попробуйте это.