Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将我的facebook php从本地主机移动到web服务器后,它停止工作_Php_Facebook_Facebook Graph Api_Facebook Php Sdk_Access Token - Fatal编程技术网

将我的facebook php从本地主机移动到web服务器后,它停止工作

将我的facebook php从本地主机移动到web服务器后,它停止工作,php,facebook,facebook-graph-api,facebook-php-sdk,access-token,Php,Facebook,Facebook Graph Api,Facebook Php Sdk,Access Token,我在制作一个简单的FB应用程序时遇到困难 我在localhost上开发了它,它工作得非常好。整个想法是要有一个桌面应用程序,它可以启动一个带有返回url的facebook登录页面。一旦用户成功登录,他将被发送到返回url,以显示一条消息,上面写着“感谢登录” 当我在localhost上尝试时(通过将我在facebook上的应用程序域和网站url设置为localhost),它可以完美地工作。但是现在我将php迁移到Web服务器,我的$user变量永远不会被填充。(是的,我更新了应用程序域并在fac

我在制作一个简单的FB应用程序时遇到困难

我在localhost上开发了它,它工作得非常好。整个想法是要有一个桌面应用程序,它可以启动一个带有返回url的facebook登录页面。一旦用户成功登录,他将被发送到返回url,以显示一条消息,上面写着“感谢登录”

当我在localhost上尝试时(通过将我在facebook上的应用程序域和网站url设置为localhost),它可以完美地工作。但是现在我将php迁移到Web服务器,我的$user变量永远不会被填充。(是的,我更新了应用程序域并在facebook上返回指向我的域的url。)

我开始调查并找到了我认为可能是错误的地方。在base_facebook.php上有一个getUserFromAvailableData()方法,其中包含以下部分代码:(顺便说一句,Echo是我的)

$access\u token=$this->getAccessToken();
回显“访问令牌:.$Access_Token.”
; echo$this->getApplicationAccessToken()。“
”; if($access\u-token&&$access\u-token!=$this->getApplicationAccessToken()&&!($user&&&$persistend\u-access\u-token==$access\u-token)){ echo“这根本不会被打印出来。”; $user=$this->getUserFromAccessToken(); 如果($user){ $this->setPersistentData('user\u id',$user); }否则{ $this->clearAllPersistentData(); } } 返回$user;
如您所见,有一个永远不会被打印的回音,我设法发现getAccessToken和getApplicationAccessToken返回完全相同的字符串,这就是为什么我的$user为空

所以我的问题是:为什么这在本地主机上有效,而在我的Web服务器上无效?我做错了什么


谢谢

如果你想在真正的服务器上使用你的代码,你需要用你的域名制作一个Facebook应用程序,你将使用它来托管tour php脚本,并将你的应用程序Id和应用程序机密放入:

$config = array();
$config['appId'] = 'YOUR_APP_ID';
$config['secret'] = 'YOUR_APP_SECRET';

$facebook = new Facebook($config);

希望这会有所帮助

我想您已经将配置设置为本地,而不是在直播阶段。@DrixsonOseña您是什么意思?php目前在一个开发服务器上,但我还不能让它工作。在localhost上,它工作得完美无缺。不是PHP配置,我还不熟悉API,但仔细检查了重要的配置,尤其是那些您在系统中使用的路径。如果这需要您的代币工作,谢谢@mrmm,但我已经完成了所有这些。我的应用程序正在运行,它连接到fb,我得到了用户令牌和所有东西。问题是,在localhost上开发时,所有这些都很好,但当我将其上传到Web服务器并更改facebook应用程序的域以匹配新域和所有内容时,它就停止工作了。@PituSeligmann我也有同样的问题。我需要为这个问题做些什么?。
$config = array();
$config['appId'] = 'YOUR_APP_ID';
$config['secret'] = 'YOUR_APP_SECRET';

$facebook = new Facebook($config);