【发布时间】:2017-04-01 13:27:55
【问题描述】:
我在我的网站上实现了 google 和 facebook oauth。一切正常,然后昨天我注意到它不再起作用了。我没有在 google 和 facebook 控制台中更改任何内容,我不记得最近更改了与此相关的代码。 google 和 facebook 都返回相同的错误。
我已经在我的本地主机上测试了 Google oauth,它可以工作,但不能用于生产。
出现 google 登录窗口,我可以正确登录,但是当 google 将我重定向到我的网站时,我的代码崩溃了。
我注意到变量 $http_response_header 在 dev 中有 14 个标头,但在 prod 中是空的。这似乎是问题的根源,但我不知道为什么也不知道如何调试它。
我使用的是 Yii2 框架,崩溃的代码是框架的一部分。
请参阅下面的调用堆栈(它不完整)。
类型错误 传递给 yii\httpclient\Client::createResponse() 的参数 2 必须是 类型数组,给定 null,在 /home/folder/vendor/yiisoft/yii2- 中调用 第 73 行的 httpclient/StreamTransport.php 1. 在 /home/folder/vendor/yiisoft/yii2-httpclient/Client.php 行 200 返回 Yii::createObject($config); } /** * 创建一个响应实例。 * @param string $content 原始内容 * @param array $headers 标题列表。 * @return 响应请求实例。 */ 公共函数 createResponse($content = null, 数组 $headers = []) { $config = $this->responseConfig; if (!isset($config['class'])) { $config['class'] = 响应::className(); } $config['client'] = $this; $response = Yii::createObject($config); $response->setContent($content); $response->setHeaders($headers); 2.在/home/folder/vendor/yiisoft/yii2-httpclient/StreamTransport.php 在第 73 行 – yii\httpclient\Client::createResponse(false, null) Yii::endProfile($token, __METHOD__); 抛出新异常($e->getMessage(), $e->getCode(), $e); } Yii::endProfile($token, __METHOD__); $response = $request->client->createResponse($responseContent, $responseHeaders); $request->afterSend($response); 返回$响应; }谁能帮帮我,我不知道从哪里开始,也不知道如何调试。
谢谢。
【问题讨论】:
标签: php facebook oauth yii2 google-oauth