2012-09-28 118 views
1

我已经在我的本地主机上测试了我的登录脚本,没有任何问题。Facebook的SDK打破Codeigniter?空白页

现在我已经上传它作为网上可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设置以显示所有错误 - 没有任何显示。

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

非常感谢 托马斯

+0

您是否得到了正常工作? – Jeemusu

回答

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> = 5.2

0

如果你的本地主机是Windows中,你的远程主机是* NIX系统,有一些多余的空白被引入到您的SDK文件中的<?php ?>标签之外的机会。当输出这个空格并设置标题时,这有时会导致“白屏死机”。

尝试从Github下载SDK的全新副本,并且不要将其解压缩到它位于远程服务器上。更好的是,如果你ssh访问wget它或git clone它直接在那里。看看是否有帮助。

如果不是,请将error_reporting(E_ALL)作为脚本的第一行添加,看看是否会告诉你任何内容。

+0

我的本地主机在Linux Mint上运行,而我的服务器在Ubuntu上。 无论如何,我会尝试并报告回来。 –

0

您将需要运行chmod例如:“sudo chmod -R 777 facebook /”。我认为这些文件是在Windows中编写的,因此在一个* Nix系统上它不会运行,直到被检查。

在我这样做后,我开始有我可以合作的错误。

+2

777似乎_very_宽容。当然,有一个更微妙的价值传递给chmod? –