我已经在本地主机上测试了我的登录脚本,没有问题。
我现在已经在线上传了它,可以从这个链接中看到
显然,如果您单击,您可以看到显示一个空白页,我不知道为什么。
我对一些内容进行了测试,并删除了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
的网站 URL 更改为 http://gua.com,所以我不相信是这样。
我什至更改了我的 CI 设置以显示所有错误 - 没有显示任何内容。
有没有人对为什么上面的代码可能仅在在线托管时才加载空白页有任何建议?
非常感谢托马斯
打开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 中可用
如果您的本地主机是 Windows 机箱,而远程主机是 *NIX 系统,则有可能在 <?php ?>
标记之外的 SDK 文件中引入了一些额外的空格。当输出此空格并设置标题时,这有时会导致"白屏死机"。
尝试从 Github 下载 SDK 的新副本,并且在它位于远程服务器上之前不要解压缩它。更好的是,如果您通过 ssh 访问wget
它或直接在那里git clone
它。看看这是否有帮助。
如果没有,请添加error_reporting(E_ALL)
作为脚本的第一行,看看这是否告诉您任何信息。
您需要运行 chmod,例如:"sudo chmod -R 777 facebook/"。我认为这些文件是在 Windows 中或为 Windows 编写的,因此在 *Nix 系统上,在检查之前它不会运行。
在我这样做之后,我开始出现我可以处理的错误。