Facebook登录可以在本地主机上运行,但不能在web服务器上运行——Codeigner


Facebook login works on localhost, but not on a web server - Codeigniter

所以,我尝试在本地主机上使用Codeigniter登录Facebook,一切都很好——当我按下登录按钮时,它显示了我的个人资料图片和注销按钮。

然后我把脚本上传到了网络主机上。我按下登录按钮,希望看到我的个人资料图片,但什么都没有!除了一件事,网站ir,例如,在www.example.com上。我按登录,地址栏显示www.example.com/index.php?代码=AQCTt5KzYV8TKKqU5nUUuy0d5DhQLJdFOlDgJ。。。等

这是我的welcome.php控制器代码:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Prakse extends CI_Controller {
public function __construct(){
    parent::__construct();
    // To use site_url and redirect on this controller.
    $this->load->helper(array('form', 'url'));
}
public function login() {
    $this->load->library('facebook');
    $user = $this->facebook->getUser();
    if ($user) {
        try {
            $data['user_profile'] = $this->facebook->api('/me');
        } catch (FacebookApiException $e) {
            $user = null;
        }
    }else {
        $this->facebook->destroySession();
    }
    if ($user) {
        $data['logout_url'] = site_url('welcome/logout'); // Logs off application
        // OR 
        // Logs off FB!
        // $data['logout_url'] = $this->facebook->getLogoutUrl();
    } else {
        $data['login_url'] = $this->facebook->getLoginUrl(array(
            'redirect_uri' => site_url('welcome/login'), 
            'scope' => array("email") // permissions here
        ));
    }
    $this->load->view('login',$data);
}
public function logout() {
    $this->load->library('facebook');
    // Logs off session from website
    $this->facebook->destroySession();
    // Make sure you destory website session as well.
    redirect('welcome/login');
}

}

请帮帮我。非常感谢。

检查https://developers.facebook.com/apps/[your_app_id]/settings/并确保应用程序域和网站url设置正确。