【发布时间】:2016-06-27 23:00:40
【问题描述】:
我的代码仓库在开发盒上,当我将它移到产品盒时,它无法完成 FB 调用。我的错误是:
Client.php 第 126 行中的 ErrorException:参数 3 传递给 GuzzleHttp\Client::request() 必须是数组类型,给定字符串, 叫进来 /var/www/mypopshare.com/vendor/guzzlehttp/guzzle/src/Client.php on 第 87 行并定义
我在这部分的代码是:
return substr($method, -5) === 'Async'
? $this->requestAsync(substr($method, 0, -5), $uri, $opts)
: $this->request($method, $uri, $opts);
两台服务器上的库都是通过 composer 安装的: `
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*",
"illuminate/html": "^5.0",
"laravelcollective/html": "^5.2",
"league/flysystem-aws-s3-v3": "~1.0",
"webpatser/laravel-uuid": "^2.0",
"intervention/image": "^2.3",
"doctrine/dbal": "^2.5",
"guzzlehttp/guzzle": "^6.1",
"sammyk/laravel-facebook-sdk": "^3.3"
},
`
这在两个环境中都是一样的,并且已经完成了 composer install 以确保它们在那里。
调用是通过 sammk/laravel-facebook-sdk 包从 Facebook PHP SDK 发出的。我唯一的猜测是服务器上的其他一些配置差异,但不确定在哪里检查。我没有配置产品服务器。任何建议表示赞赏。
【问题讨论】:
-
有完全相同的问题。无法弄清楚是什么原因造成的。我正在使用 Facebook 的官方作曲家包,所以我认为它不是由 Laravel 包装器引起的。我在两台服务器上运行完全相同的(php7)版本。我在堆栈跟踪中的代码是:
Facebook\Facebook->get() -
我也遇到了同样的问题,但是直接使用 Facebook SDK 没有 SammyK 的包装器。它适用于我的开发服务器(使用 php7 的最新 Homestead),但在生产中失败。除了告诉 FB SDK 使用 curl 之外,有没有人找到解决方案?
标签: php facebook facebook-graph-api laravel-5.2 guzzle6