【问题标题】:MAMP local development - cURL error 60: SSL certificate: unable to get local issuer certificateMAMP 本地开发 - cURL 错误 60:SSL 证书:无法获取本地颁发者证书
【发布时间】:2021-07-17 13:52:27
【问题描述】:

我使用 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);

【问题讨论】:

    标签: php ssl curl localhost mamp


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2017-07-19
        • 2019-09-24
        • 2016-10-30
        • 2023-03-23
        • 2021-05-24
        相关资源
        最近更新 更多