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

问题描述

我使用 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 获得的最新版本,您应该是对的。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...