我在我的网站上实施了google和facebook oauth。一切都很好,然后昨天我注意到它不再起作用了。我没有更改谷歌和Facebook控制台中的任何内容,我不记得最近更改与此相关的代码。 google和facebook都会返回相同的错误。
我已经在我的localhost上测试了Google oauth,但它可以正常运行,但尚未投入生产。
出现google登录窗口,我可以正确登录,但是当Google重定向到我的网站时,我的代码崩溃了。
我注意到变量$ http_response_header在dev中有14个头但在prod中是空的。它似乎是问题的根源,但我不知道为什么以及如何调试它。
我正在使用Yii2框架,崩溃的代码是框架的一部分。
请参阅下面的调用堆栈(它没有完成)。
TypeError Argument 2 passed to yii\httpclient\Client::createResponse() must be of the type array, null given, called in /home/folder/vendor/yiisoft/yii2- httpclient/StreamTransport.php on line 73 1. in /home/folder/vendor/yiisoft/yii2-httpclient/Client.php at line 200 return Yii::createObject($config); } /** * Creates a response instance. * @param string $content raw content * @param array $headers headers list. * @return Response request instance. */ public function createResponse($content = null, array $headers = []) { $config = $this->responseConfig; if (!isset($config['class'])) { $config['class'] = Response::className(); } $config['client'] = $this; $response = Yii::createObject($config); $response->setContent($content); $response->setHeaders($headers); 2. in /home/folder/vendor/yiisoft/yii2-httpclient/StreamTransport.php at line 73 – yii\httpclient\Client::createResponse(false, null) Yii::endProfile($token, __METHOD__); throw new Exception($e->getMessage(), $e->getCode(), $e); } Yii::endProfile($token, __METHOD__); $response = $request->client->createResponse($responseContent, $responseHeaders); $request->afterSend($response); return $response; }
有人可以帮助我,我不知道从哪里开始,我不知道如何调试。
感谢。
答案 0 :(得分:0)
我没有得到-1但无论如何我发现了问题。
php变量" allow_url_fopen"设置已禁用,必须激活。我没有改变它,主机上发生了一些事情。