Facebook SDK打破Codeigniter?空白页

时间:2012-09-28 19:45:19

标签: codeigniter facebook-graph-api facebook-php-sdk

我已经在我的localhost上测试了我的登录脚本,没有任何问题。

我现在已在线上传,如this link

所示

显然,如果你点击,你会看到显示一个空白页面,我不明白为什么。

我对一些内容进行了测试,并删除了Facebook SDK代码。

        //Facebook config (required for library)
    $fb_config = array(
            'appId'  => 'REMOVED',
            'secret' => 'REMOVED'
            );

    //Load Facebook library
    $this->load->library('facebook', $fb_config);

    //SET FACEBOOK USER 
    $fbuser = array();
    $fbuser = $this->facebook->getUser();

当上述代码不存在时,页面加载。

我已正确更新了我的应用设置,即将http://localhost的网站网址更改为http://gua.com,所以我不相信它。

我甚至更改了我的CI设置以显示所有错误 - 没有显示任何内容。

有没有人有任何建议,为什么上述代码只能在网上托管时才会加载空白页?

非常感谢 托马斯

3 个答案:

答案 0 :(得分:0)

如果您的localhost是Windows框而您的远程主机是* NIX系统,则有可能在<?php ?>标记之外的SDK文件中引入了一些额外的空白区域。当输出这个空格并设置标题时,这有时会导致“白屏死机”。

尝试从Github下载SDK的新副本,并且在远程服务器上将其解压缩之前不要解压缩。更好的是,如果您直接访问wgetgit clone直接访问它。看看是否有帮助。

如果没有,请添加error_reporting(E_ALL)作为脚本的第一行,看看是否能告诉您任何内容。

答案 1 :(得分:0)

你需要运行chmod例如:“sudo chmod -R 777 facebook /”。我认为这些文件是用于Windows编写的,所以在* Nix系统上它不会运行直到检查完毕。

在我这样做之后,我开始遇到可以使用的错误。

答案 2 :(得分:0)

打开base_facebook.php并尝试从顶部删除这两行中的任何一行。

    if (!function_exists('curl_init')) {
      throw new Exception('Facebook needs the CURL PHP extension.');
    }
    if (!function_exists('json_decode')) {
      throw new Exception('Facebook needs the JSON PHP extension.');
    }

如果您停止获取白屏,则应指示您的服务器需要启用curl或json_decode。

或者您可以执行echo phpinfo()并检查它们是否已启用。请注意,json_decode / encode仅在php&gt; = 5.2

中可用