带有 Facebook PHP SDK 的空白页面

发布于 2024-11-08 22:09:08 字数 703 浏览 0 评论 0原文

我对 Facebook PHP SDK 有很大的疑问。这里是。

1)在我的个人服务器上,这工作正常:

$me = $facebook->getSignedRequest(); 
print_r($me);
$user = $facebook->api('/me');
print_r($user);

而在另一台远程服务器(顺便说一句,Windows服务器)上则不然。 如果注释最后两行,它会起作用,但是 $facebook->api 调用会破坏我的脚本,并且我会得到一个空白页面。

2)这个错误似乎与CURL相关,因为在某些时候我得到了这个屏幕截图: http://www.thomasaussenac .com/harleytest/screenshot.png

反正我实在想不出办法解决!


我仍然有同样的错误,有时我在空白页上收到这样的消息:

无法设置 cookie。标头已发送。 使用捆绑信息无效或未找到证书颁发机构

但是 fb_ca_chain_bundle.crt 应该没问题...

我根本不明白,真的...

I have a strong problem with the Facebook PHP SDK. Here it is.

1) On my personal server this works fine:

$me = $facebook->getSignedRequest(); 
print_r($me);
$user = $facebook->api('/me');
print_r($user);

while on another remote server (a Windows one btw) it doesn't.
If if comment the 2 last lines, it does, but the $facebook->api call breaks my script and I get a blank page.

2) This bug seems CURL related since at some point I got this screenshot : http://www.thomasaussenac.com/harleytest/screenshot.png

Anyway, I really can't get a way to solve it!


I still have the same error and sometimes I get such a message on a blank page :

Could not set cookie. Headers already sent.
Invalid or no certificate authority found, using bundled information

But the fb_ca_chain_bundle.crt should be fine...

I don't understand at all, really...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

2024-11-15 22:09:08

由于错误消息提到了 cookie 问题,请尝试以下操作:

$output = '';

$me = $facebook->getSignedRequest(); 
$output .= print_r( $me, TRUE ); 

$user = $facebook->api('/me'); 
$output .= print_r( $user, TRUE );

echo $output;

为什么?因为 $facebook->api('/me');可能会尝试设置一个cookie。不幸的是,如果某些输出已经发送到浏览器,则 PHP 应用程序无法设置 cookie。

因此,将所有输出保存在变量中并最终将变量的内容发送到浏览器可能是明智的。

Since the error message mentiones a cookie problem, try this:

$output = '';

$me = $facebook->getSignedRequest(); 
$output .= print_r( $me, TRUE ); 

$user = $facebook->api('/me'); 
$output .= print_r( $user, TRUE );

echo $output;

Why? Because $facebook->api('/me'); might try to set a cookie. Unfortunately, a PHP application can't set a cookie, if some output has already been sent to the browser.

Thus, it might be wise to save all output in a variable and finally send the variable's contents to the browser.

萧瑟寒风 2024-11-15 22:09:08

您确定您使用的是正确的 API & 吗?秘密钥匙。检查您的 apache 服务器是否启用了 CURL(通过 phpinfo())

are you sure you are using correct API & Secret key. Check whether CURL is enabled in your apache server or not (by phpinfo())

吾性傲以野 2024-11-15 22:09:08

答:我使用的是没有 Apache 的 Windows 服务器。

Answer: I was using a server Windows without Apache.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文