本地调试Facebook PHP SDK

最近发现了一个可以在不用链接VPN的情况下,本地debug facebook api的方法。

适用范围:

此方法适用于当本地facebook php sdk访问不到facebook api的情况。如果你是使用facebook javascript SDK发开的话,只需要把浏览器翻墙就好了,详情见这里

实例:

以FB-member plugin为例子说明相应的代码改动。

//如果是demo2上运行的话,就为facebook php sdk的CURL options加上代理
if ($_SERVER['HTTP_HOST'] == 'demo2.mixmedia.com') {
            BaseFacebook::$CURL_OPTS[CURLOPT_PROXY] = '192.168.33.9:8888';
            BaseFacebook::$CURL_OPTS[CURLOPT_PROXYTYPE] = CURLPROXY_HTTP;
            BaseFacebook::$CURL_OPTS[CURLOPT_HTTPPROXYTUNNEL] = 1;
        }
        $this->fb = new Facebook(array(
            'appId'  => $app_id,
            'secret' => $app_secret,
//            'sharedSession' => true,
        ));

在FB-member plugin中,我们判断如果是server是demo2.mixmedia.com的话,我们就为facebook php sdk的curl加上代理。通过这个修改就能使本来不能访问facebook php sdk代码能够正常访问facebook了。

原理:

其实facebook php sdk是通过curl这扩展访问facebook api的,而curl支持proxy,所以只要我们为curl+上代理的配置,就可以像浏览器翻墙一样,把curl也翻墙了。

文章分类 经验分享
One comment on “本地调试Facebook PHP SDK
  1. george xia说道:

    以后开发fb项目可以轻松不少!!!

发表评论


Warning: Use of undefined constant XML - assumed 'XML' (this will throw an Error in a future version of PHP) in /var/www/wp/code/wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048