我试图在我的网站上获得新的facebook php sdk设置。我正在运行最新的稳定版本的php。我以前从来没有摆弄过名称空间。有人能告诉我我哪里做错了吗?
我得到这个错误
Fatal error: Class 'FacebookSession' not found in
当我运行这段代码
FacebookSession::setDefaultApplication( 'xxx','yyy' );
…
// path of these files have changes
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/HttpClients/FacebookHttpable.php' );
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/HttpClients/FacebookCurl.php' );
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/HttpClients/FacebookCurlHttpClient.php' );
// other files remain the same
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/FacebookSession.php' );
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/FacebookRedirectLoginHelper.php' );
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/FacebookRequest.php' );
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/FacebookResponse.php' );
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/FacebookSDKException.php' );
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/FacebookRequestException.php' );
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/FacebookOtherException.php' );
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/FacebookAuthorizationException.php' );
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/GraphObject.php' );
require_once( '/var/www/vhosts/server/site/lib/fb/Facebook/GraphSessionInfo.php' );
// path of these files have changes
use Facebook'HttpClients'FacebookHttpable;
use Facebook'HttpClients'FacebookCurl;
use Facebook'HttpClients'FacebookCurlHttpClient;
use Facebook'FacebookSession;
use Facebook'FacebookRedirectLoginHelper;
use Facebook'FacebookRequest;
use Facebook'FacebookResponse;
use Facebook'FacebookSDKException;
use Facebook'FacebookRequestException;
use Facebook'FacebookOtherException;
use Facebook'FacebookAuthorizationException;
use Facebook'GraphObject;
use Facebook'GraphSessionInfo;
你不需要使用完整的路径到Facebook SDK,除非你试图从一个完全不同的位置访问它。您应该能够使用一个相对路径访问它,比如lib/fb/Facebook/GraphSessionInfo.php
,假设您的index.php文件位于site
文件夹。
同样,尝试执行以下操作,看看是否仍然得到错误:
Facebook'FacebookSession::setDefaultApplication( 'xxx','yyy' );
问题是由于PEAR安装在服务器上的电子邮件。php设置中的include路径被修改。
我实际上删除了PEAR,将PHP设置回默认包含路径,并将电子邮件切换为swiftmailer。