【问题标题】:Google MyBusiness PHP Api OpenSSL SSL_connect: SSL_ERROR_SYSCALLGoogle MyBusiness PHP Api OpenSSL SSL_connect: SSL_ERROR_SYSCALL
【发布时间】:2019-07-16 08:04:47
【问题描述】:

我的部分代码是:

try {

    $client = new Google_Client();
    $client->setAuthConfig($credentials_file);

    $client->setAccessType("offline");
    $client->setIncludeGrantedScopes(true);
    $client->addScope("https://www.googleapis.com/auth/plus.business.manage");
}catch(GuzzleHttp\Exception\ConnectException $e){
    Connector::handleException($e); //just print $e->getMessage(); and die();
}catch(\Exception $e){
    Connector::handleException($e); //just print $e->getMessage(); and die();
}

if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {

    $client->setAccessToken($_SESSION['access_token']);
    $connector = Connector::init($client);

    require_once "views/index.php";

} else {
    $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php';
    header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}

views/index.php 我只是获取位置并将它们打印出来。

我使用php -S localhost:8000 运行我的“应用程序”

几乎一切正常,因为有时我会出错:

cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to mybusiness.googleapis.com:443 (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to oauth2.googleapis.com:443 (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

我需要刷新网站几次,直到一切恢复正常。几天前一切都很好。有时它在第一次刷新后开始工作,有时需要 5 分钟。

为什么?我能以某种方式解决它吗?

【问题讨论】:

    标签: php google-my-business-api


    【解决方案1】:

    Google API 似乎在使用 IPv6 时出现 curl 问题,所以在文件中:

    vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php

    关于我添加的第 40 行:

    curl_setopt($easy->handle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);

    它解决了问题!

    【讨论】:

      猜你喜欢
      • 2018-10-04
      • 2019-03-28
      • 1970-01-01
      • 2023-01-15
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 2014-08-07
      相关资源
      最近更新 更多