我正在移动PHP Facebook网页(App),我最初并没有从一台服务器写到另一台服务器。它是在API的Version 2.1.2
上写的,但我还不允许升级,我的客户只是想让它移动。
起初我对证书有一些问题,因为新服务器使用正确安装的Thawte SSL证书,因为他们的电子商务产品运行得很好,但我无法获得FB应用程序为了表现,所以我最终把以下内容放到了“无效或没有找到证书颁发机构”的问题:
$opts[CURLOPT_SSL_VERIFYPEER] = false;
现在整个应用程序都可以正常工作,包括发送电子邮件等,除了一部分 - 需要发布到页面墙的部分。从旧服务器运行时,此代码可以正常运行,但在新服务器上运行时无效:
$args = array(
'message' => $fbPostToWallMsg,
'name' => "New Entry",
'caption' => 'Click to view image.',
'picture' => $hostUrl.$filePath,
'access_token' => $oauthToken
);
$facebook->setFileUploadSupport(true);
try {
$data = $facebook->api('/'.$pageId.'/feed', 'post', $args);
} catch (Exception $e) {
$authError = true;
}
... other stuff, emails etc.
$pageid
与之前相同,access_token
似乎有效且大多数人已经获得了该应用的许可,但我也尝试了新的未知和现有的已知用户,似乎都没有工作
没有任何错误我可以抓住,发布时没有异常发生,帖子没有出现在墙上 - 没有迹象表明它不起作用我已经检查了“隐藏的帖子”如果他们被视为垃圾邮件,他们也不在那里。
有谁知道为什么在一台服务器上运行的代码不能在另一台服务器上运行?我唯一能想到的可能是SSL问题,但我不知道那些会是什么,我不明白为什么我在发布到Facebook时没有看到任何错误。
任何帮助非常感谢, 感谢
答案 0 :(得分:0)
原来这是因为新服务器在防火墙上对www.facebook.com有一个阻止。我觉得奇怪的是,由于这个原因,API无声地失败,但我想我的期望是什么......
只要在该服务器的防火墙上打了一个洞,它就开始工作...... 叹息