Php Google登录失败,无法打开流Http请求失败,请求错误

Php Google登录失败,无法打开流Http请求失败,请求错误,php,codeigniter,curl,tankauth,Php,Codeigniter,Curl,Tankauth,如何将文件内容更改为curl函数 以下行中出现错误,如 致命错误:未捕获的异常“exception”,消息为E:\xampp\htdocs\google\application\libraries\oauth2\token\access.php:44堆栈跟踪:0 E:\xampp\htdocs\google\application\libraries\oauth2\token.php30:oauth2\u token\u access->\u0E:\xampp\htdocs\google\app

如何将文件内容更改为curl函数

以下行中出现错误,如

致命错误:未捕获的异常“exception”,消息为E:\xampp\htdocs\google\application\libraries\oauth2\token\access.php:44堆栈跟踪:0 E:\xampp\htdocs\google\application\libraries\oauth2\token.php30:oauth2\u token\u access->\u0E:\xampp\htdocs\google\application\libraries\oauth2\Provider.php224:oauth2\u令牌::工厂“访问”,空2 E:\xampp\htdocs\google\application\libraries\oauth2\Provider\google.php61:oauth2\u Provider->access'4/tJi51U xhCSYo,数组3 E:\xampp\htdocs\google\application\controllers\auth_oa2.php32:OAuth2_Provider_google->access'4/tJi51U xhCSYo…'4[内部函数]:auth_oa2->session'google'

使用curl

$opts = array(
                'http' => array(
                    'method'  => 'POST',
                    'header'  => 'Content-type: application/x-www-form-urlencoded',
                    'content' => http_build_query($params),
                )
            );

            $_default_opts = stream_context_get_params(stream_context_get_default());
            $context = stream_context_create(array_merge_recursive($_default_opts['options'], $opts));
不要使用上面的代码,而是使用

$_default_opts = stream_context_get_params(stream_context_get_default());
$context = array_merge($_default_opts['options'], $params);

         $curl = curl_init();
        curl_setopt($curl, CURLOPT_HEADER, false);
        curl_setopt($curl, CURLINFO_HEADER_OUT, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_FORBID_REUSE, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($context));

        $response = curl_exec($curl);
        curl_close($curl);

现在我删除了http_构建的查询。但它再次显示了错误。。。致命错误:异常[string$Exception[,long$code[,Exception$previous=NULL]]的参数错误。当我打印\u r$response时,请在$context@janasanw中发布该值;它显示为,{error:invalid\u grant,error\u description:代码已被赎回。}代码已被赎回,然后服务器收到两个请求。因此,检查您的端口而不是post,您可以使用get方法,因为只需删除curl_setopt$curl,CURLOPT_post,true;curl_setopt$curl、CURLOPT_POSTFIELDS、http_build_query$context;这两行代码来自curl,并将您的参数附加到$url
$_default_opts = stream_context_get_params(stream_context_get_default());
$context = array_merge($_default_opts['options'], $params);

         $curl = curl_init();
        curl_setopt($curl, CURLOPT_HEADER, false);
        curl_setopt($curl, CURLINFO_HEADER_OUT, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_FORBID_REUSE, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($context));

        $response = curl_exec($curl);
        curl_close($curl);