Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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
FacebookPHPSDK可以在本地主机上工作,但不能在其他服务器上工作_Php_Facebook_Magento - Fatal编程技术网

FacebookPHPSDK可以在本地主机上工作,但不能在其他服务器上工作

FacebookPHPSDK可以在本地主机上工作,但不能在其他服务器上工作,php,facebook,magento,Php,Facebook,Magento,所以,我知道有很多类似的话题,我读了其中的大部分,但仍然找不到答案。 问题是:我在localhost上使用了facebook-PHP-SDK授权,它工作得非常好。getUser()函数返回id,我可以检索用户信息。然后我移动到一个实际的域,复制工作代码,编辑facebook应用程序设置,编辑getLoginUrl()函数参数数组中的重定向uri。现在我仍然可以通过这个应用程序登录,我被要求获得访问我的数据的权限,但是getUser()返回0。 我正在magento上运行它,下面是代码: publ

所以,我知道有很多类似的话题,我读了其中的大部分,但仍然找不到答案。 问题是:我在localhost上使用了facebook-PHP-SDK授权,它工作得非常好。getUser()函数返回id,我可以检索用户信息。然后我移动到一个实际的域,复制工作代码,编辑facebook应用程序设置,编辑getLoginUrl()函数参数数组中的重定向uri。现在我仍然可以通过这个应用程序登录,我被要求获得访问我的数据的权限,但是getUser()返回0。 我正在magento上运行它,下面是代码:

public function facebook_main($controller_name) {
    $appid = $this -> getAppId();
    $secretid = $this -> getSecretId();
    $facebook = $this -> facebook_config($appid, $secretid);
    $user = $this -> get_user($facebook);
    if (!$user) {
        return $this -> get_login_url($facebook, $controller_name);
    } else {
        $user_profile = $facebook->api('/me','GET');
        $facebook -> destroySession();
        return $user_profile;
    }
}

function getAppId() {
    return Mage::getStoreConfig('social/fb/appid');
}

function getSecretId() {
    return Mage::getStoreConfig('social/fb/secretid');
}

function get_user($facebook) {
    return $facebook -> getUser();
}

function facebook_config($appid, $secretid) {
    require_once "fb_include/facebook.php";
    $facebook = new Facebook( array('appId' => $appid, 'secret' => $secretid, 'cookie' => true));
    return $facebook;
}

function get_login_url($facebook, $controller_name) {
    $redirect_uri = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
    $scope = $this -> set_scope();
    $params = array('scope' => $scope, 'redirect_uri' => $redirect_uri . "/index.php/socialintegration/".$controller_name."/fb");
    $loginUrl = $facebook -> getLoginUrl($params);
    $img_url = $redirect_uri."app/code/community/Cheesecake/SocialIntegration/Model/button_images/fb.png";
    return "<a href=" . $loginUrl . "><img src=".$img_url." style='width: 40px'></a>";
}

function set_scope() {
    return 'email,user_about_me, read_stream, friends_likes';
}
public函数facebook\u main($controller\u name){
$appid=$this->getAppId();
$secretid=$this->getSecretId();
$facebook=$this->facebook\u config($appid,$secretid);
$user=$this->get_user($facebook);
如果(!$user){
返回$this->get\u login\u url($facebook,$controller\u name);
}否则{
$user_profile=$facebook->api('/me','GET');
$facebook->destroySession();
返回$user\u profile;
}
}
函数getAppId(){
返回Mage::getStoreConfig('social/fb/appid');
}
函数getSecretId(){
返回Mage::getStoreConfig('social/fb/secretid');
}
函数get_user($facebook){
返回$facebook->getUser();
}
函数facebook\u config($appid,$secretid){
需要一次“fb\u include/facebook.php”;
$facebook=newfacebook(数组('appId'=>$appId,'secret'=>$secretid,'cookie'=>true));
返回$facebook;
}
函数get\u login\u url($facebook,$controller\u name){
$redirect\u uri=Mage::getBaseUrl(Mage\u Core\u Model\u Store::URL\u TYPE\u WEB);
$scope=$this->set_scope();
$params=array('scope'=>$scope,'redirect\u uri'=>$redirect\u uri./index.php/socialintegration/“$controller\u name./fb”);
$loginUrl=$facebook->getLoginUrl($params);
$img_url=$redirect_uri.“app/code/community/Cheesecake/SocialIntegration/Model/button_images/fb.png”;
返回“”;
}
函数集_作用域(){
返回“电子邮件,用户关于我,阅读流,朋友喜欢”;
}

发布您的代码,让我们看看哪里出错更新了我的问题,包括代码。实际上奇怪的是,相同的代码在不同域的不同服务器上工作正常。我想不出有什么问题