1

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

我现在已经在网上上传了,可以在这个链接上看到

显然,如果您单击,您会看到显示了一个空白页面,我不知道为什么。

我做了一点内容的测试,并删除了 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();

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

我已经正确更新了我的应用程序设置,即将网站 URL 更改http://localhosthttp://gua.com所以我不相信是这样。

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

有没有人对为什么上述代码仅在在线托管时才加载空白页面有任何建议?

非常感谢托马斯

4

3 回答 3

0

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

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

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

于 2012-09-28T20:28:29.713 回答
0

您将需要运行 chmod,例如:“sudo chmod -R 777 facebook/”。我认为这些文件是在 *Nix 系统上写入或为 windows 编写的,它在检查之前不会运行。

就我而言,在这样做之后,我开始遇到可以处理的错误。

于 2012-10-30T13:52:46.730 回答
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。

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

于 2012-11-14T06:21:06.103 回答