0

我的 FB 连接在我的网站上运行良好。然后有一天,我们注意到它不再工作了。它没有给出任何错误,但是当我尝试从我的 facebook 类中执行 getUser() 函数时,对发送我签名请求的响应是空的,没有用户数据。这是基本问题,但让我详细说明我已经确定的内容。

我相信服务器以某种方式存在问题,可能是 httpd.conf 内部的问题,也可能是 php.ini 中的问题,这就是原因。

我将 FB 集成所需的所有 PHP 页面转移到另一台服务器和另一个域。他们工作得很好。对我来说,这排除了代码本身或我正在使用的 Facebook 应用程序设置的问题。

然后我回到问题服务器,设置第三个域并再次尝试同样的事情。它行不通。因此,对我来说,排除了我最终试图重新开始工作的特定域的问题。

我承认,我不知道在它正常工作和突然不工作之间可能发生了哪些变化。如果我这样做了,我有一个可靠的想法,我会回滚它。我确实有人说“用 mod_deflate 和 mod_cache 重新编译 apache”。我试图搜索那些导致 FB 出现问题的人,但没有找到任何东西。

PHP 版本 5.3.10

服务器版本:Apache/2.2.22 (Unix) 服务器构建时间:2012 年 2 月 10 日 20:31:21 Cpanel::Easy::Apache v3.9.1 rev9999

感谢您阅读我的问题。

4

1 回答 1

0

我已经解决了我的情况。我的解决方案的关键是转到 base_facebook.php 的第 633 行并执行 echo $e; 确定令牌响应失败的原因。然后我设法确定了问题的根源:

CurlException:1:libcurlCurl 中不支持或禁用协议 https

所以我联系了我的服务器支持人员,他们告诉我,“curl php 模块是在没有 ssl 支持的情况下构建的。” 这是在他们说之后

“我几乎可以肯定,当我重建 apache 时,我确保检查了 curlssl。这是人们要求启用的典型选项,因此我始终确保它已启用。”

所以最终的解决方案是他们必须使用 curlssl 模块重新编译 apache 和 php。

于 2012-02-18T16:42:48.793 回答