MAMP本地开发-cURL错误60:SSL证书:无法获取本地颁发者证书

MAMP local development - cURL error 60: SSL certificate: unable to get local issuer certificate

我使用 MAMP 作为本地开发环境。我想实施 Google 身份验证 - 但不断收到此 SSL 错误。

  1. 正如其他 SO 主题所建议的那样,我已经在我的 PHP.ini 文件中添加了这行代码:
curl.cainfo ="C:/MAMP/bin/php/php7.4.1/extras/ssl/cacert.pem"
  1. 并从此处添加最新的 CA 证书:https://curl.se/docs/caextract.html 在我的 PHP SSL 文件夹中:C:\MAMP\bin\php\php7.4.1\extras\ssl

知道如何在我的本地环境中传递这个 SSL 错误吗?

这是代码:

$google_client = new \Google_Client();
    $google_client->setClientId($clientID);
    $google_client->setClientSecret($clientSecret);
    $google_client->setRedirectUri($redirectUri);
    $google_client->addScope("email");
  $google_client->addScope("profile");



    if($this->request->getVar('code')){
        $token = $google_client->fetchAccessTokenWithAuthCode($this->request->getVar('code'));
        if(!isset($token['error'])){
            $google_client->setAccessToken($token['access_token']);
            $this->session->set('access_token', $token['access_token']);

            //get Google profile data
            $google_service = new \Google_Service_Oatuth2($google_client);
            $data = $google_service->userinfo->get();
            print_r($data);

更新 openssl.cnf 文件中 cacert.pem 的位置以指向您从 curl.se 获得的最新版本,您应该是正确的。

设置“curl.cainfo”的值对我没有帮助。 相反,我必须在 current php.ini 的“openssl”部分设置值(在 [=27= 中找到当前的“php.ini”文件] 使用命令 'which php'.):

取消注释并设置 openssl.cafile(路径适用于 MacOS):

openssl.cafile="/Applications/MAMP/Library/OpenSSL/certs/cacert.pem"

(按照 https://curl.se/docs/caextract.html 的建议下载了 pem 文件)