带有 Facebook PHP SDK 的空白页面
我对 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
由于错误消息提到了 cookie 问题,请尝试以下操作:
为什么?因为 $facebook->api('/me');可能会尝试设置一个cookie。不幸的是,如果某些输出已经发送到浏览器,则 PHP 应用程序无法设置 cookie。
因此,将所有输出保存在变量中并最终将变量的内容发送到浏览器可能是明智的。
Since the error message mentiones a cookie problem, try this:
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.
您确定您使用的是正确的 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())
答:我使用的是没有 Apache 的 Windows 服务器。
Answer: I was using a server Windows without Apache.