带有Laravel护照的Laravel 6,怪异的Guzzle错误

问题描述 投票:1回答:1

我已经按照说明安装了Laravel护照的密码客户端,完全按照Laravel文档中的说明安装,并使用了默认的Laravel 6.0作曲家版本的guzzle,等等。在本地开发环境和实时服务器上,并且每次我尝试发布到example.com/oauth/token路由时,都会遇到一个疯狂的Guzzle错误,该错误似乎在Internet上没有以前的搜索历史。错误是(摘要):

GuzzleHttp\Exception\ServerException

/var/task/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113

"Return value of Zend\\Diactoros\\normalizeServer() must be of the type array, none returned"

我在所有环境中都运行php 7.3,但是尝试使用php 7.2和7.1并获得了相同的结果。我在本地运行Laravel Valet,但从未在其他任何项目上看到过类似的东西。我也在使用Laravel Vapor运行登台服务器,并且得到了完全相同的错误。我的食欲要求与Laravel文档中的Taylor Otwell的示例几乎完全相同,如下所示:

        $http = new \GuzzleHttp\Client;

        $response = $http->post(env('API_TOKEN_URL'), [
            'form_params' => [
                'grant_type' => 'password',
                'client_id' => env('PASSPORT_CLIENT_ID'),
                'client_secret' => env('PASSPORT_CLIENT_SECRET'),
                'username' => $request['username'],
                'password' => $request['password'],
            ],
        ]);

        return json_decode((string) $response->getBody(), true);

我已将数据全部转储以验证用户名,密码,client_id和client_secret均正确。它似乎根本不是身份验证问题,但是Guzzle传递正确的服务器标头会带来一些问题。我不知道如何解决,因为以前没有这个问题的记录,我可以在互联网上的任何其他地方找到它。有任何想法吗?

laravel curl guzzle laravel-passport laravel-vapor
1个回答
0
投票

如果有人遇到此问题,只需运行以下命令即可将软件包名称:laminas / laminas-diactoros更新为最新版本,例如2.2.2

组成者需要薄片/薄片-diactoros

问题来自normalize_server.legacy.php它不返回任何内容。

© www.soinside.com 2019 - 2024. All rights reserved.