我已经在我的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设置以显示所有错误 - 没有显示任何内容。
有没有人有任何建议,为什么上述代码只能在网上托管时才会加载空白页?
非常感谢 托马斯
答案 0 :(得分:0)
如果您的localhost是Windows框而您的远程主机是* NIX系统,则有可能在<?php ?>
标记之外的SDK文件中引入了一些额外的空白区域。当输出这个空格并设置标题时,这有时会导致“白屏死机”。
尝试从Github下载SDK的新副本,并且在远程服务器上将其解压缩之前不要解压缩。更好的是,如果您直接访问wget
或git 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