【发布时间】:2017-10-28 10:19:45
【问题描述】:
如何从 laravelfacebooksdk 增加超时,我得到错误:
[Facebook\Exceptions\FacebookSDKException] 0 毫秒后操作超时,收到 0 个字节中的 0 个
请注意,我使用包装器 laravel facebook sdk
【问题讨论】:
标签: php laravel facebook-graph-api
如何从 laravelfacebooksdk 增加超时,我得到错误:
[Facebook\Exceptions\FacebookSDKException] 0 毫秒后操作超时,收到 0 个字节中的 0 个
请注意,我使用包装器 laravel facebook sdk
【问题讨论】:
标签: php laravel facebook-graph-api
我修改了这些文件以允许新的 http_client_handler 我创建了一个新实例,并在其中更新了 htt_client_handler,更新了 composer.json 以读取 Facebooksdk 类。
composer.json
"autoload": {"classmap":
["database","/var/www/laravel/vendor/facebook/graph-sdk/src/Facebook"]
类 xxx.php
class LongerTimeoutHttpClient extends
Facebook\HttpClients\FacebookStreamHttpClient
{public function send($url, $method, $body, array $headers, $timeOut){
$timeOut *= 4;
return parent::send($url, $method, $body, $headers, $timeOut);}}
public function handle(SammyK\LaravelFacebookSdk\LaravelFacebookSdk $fb)
{
$fbStream = new Facebook\HttpClients\FacebookStream;
$fb2 = $fb->newInstance([
'app_id' => env('FACEBOOK_APP_ID'),
'app_secret' => env('FACEBOOK_APP_SECRET'),
'default_graph_version' => 'v2.9',
'http_client_handler' => new LongerTimeoutHttpClient($fbStream),]);
}
通过这种方式,我允许实例 $fb 中的值超时。
【讨论】: