Php Laravel 5社交名流-卷曲错误77:设置证书验证位置时出错

Php Laravel 5社交名流-卷曲错误77:设置证书验证位置时出错,php,ssl,curl,laravel-5,laravel-socialite,Php,Ssl,Curl,Laravel 5,Laravel Socialite,我正在使用Laravel 5中的社交名媛设置facebook登录。我仔细地按照说明进行操作,直到遇到以下错误 cURL error 60: SSL certificate problem: unable to get local issuer certificate 所以我找到了修复它的答案,它确实通过了,但是我得到了这个错误 cURL error 77: error setting certificate verify locations: CAfile: /Applications/XAM

我正在使用Laravel 5中的社交名媛设置facebook登录。我仔细地按照说明进行操作,直到遇到以下错误

cURL error 60: SSL certificate problem: unable to get local issuer certificate
所以我找到了修复它的答案,它确实通过了,但是我得到了这个错误

cURL error 77: error setting certificate verify locations:
CAfile: /Applications/XAMPP/xamppfiles/cacert.pem
CApath: none

知道这个错误的原因吗?!怎么修复它

我也被这个问题困住了。事实证明,我的php.ini文件中设置的证书路径不正确。忘记了.txt扩展名

我所拥有的:

curl.cainfo = "C:\xampp\php\cacert.pem"
我把它改成:

curl.cainfo = "C:\xampp\php\cacert.pem.txt"

希望这有帮助

我读了我能找到的每一条线索,而这一条提供了丢失的部分

背景:我在尝试让Drupal 8检查新开发环境(基于wamp)上的可用更新时遇到了这个问题

  • 从Mozilla获取证书数据的副本,可以在以下位置找到: 如果您想了解更多关于这是什么的信息,请阅读以下内容:
  • 将文件另存为“cacert.pem.txt”而不是“cacert.pem”这是丢失的部分,谢谢LyleK!。我不知道为什么,但你必须在结尾有.txt扩展名,否则它不工作
  • 将“cacert.pem.txt”文件位置的路径显式添加到php.ini中
  • 例如:

    [curl]
    ; A default value for the CURLOPT_CAINFO option. This is required to be an
    ; absolute path.
    curl.cainfo = "C:\wamp\custom\cacert.pem.txt"
    

    如果您正在使用wamp堆栈,请重新启动它。您应该可以开始了

    如果与git相关:

    git config --global http.sslverify "false"
    
    这将解决问题

  • 将此证书()保存为
    C:\xampp\php
    中的
    cacert.pem.txt
  • 添加到
    php.ini

    curl.cainfo = "C:\xampp\php\cacert.pem.txt"
    
  • 别忘了重新启动XAMPP(在重新启动之前它不会工作)

  • 那就好了

    我也遇到了同样的问题,我尝试了这里提到的每一个解决方案和其他帖子,但没有一个奏效。我试过了
    1) 设置正确的文件权限(无效)
    2) 更改文件扩展名(不起作用)



    然后我将cacert.pem文件移动到xampp中的php/目录中,并重新启动它,它工作了。希望它能帮助别人。

    首先,您需要下载“curl.cainfo”文件,然后您需要将其定位到C:\xampp\php\cacert.pem.txt

    其次,您需要在Xampp中打开php.ini文件并复制此文件 =>

    curl.cainfo=C:\xampp\php\cacert.pem.txt任何您想要的地方


    第三,请重新启动您的Apache服务器
    刷新您的本地主机页面,这样应该可以正常工作。

    在php.ini文件上签出双引号: 如果您从网络上复制并通过,则可能会得到错误的双引号:

    “C:\xampp\php\cacert.pem.txt”

    而不是

    “C:\xampp\php\cacert.pem.txt”

    这对我有用

    curl.cainfo = "C:\xampp\php\cacert.pem.txt"
    

    希望它对某些人有所帮助:)

    您需要用另一个证书替换现有证书。之后:

    • 提取并将其添加到
      xampp\php\ext
    • 打开
      xampp\php\php.ini
    • 将这一行从第一步“添加到文件末尾
    • 重新启动,它现在应该可以工作了
    这是链接

    从中添加cacert.pem文件 c:\xampp\php\cacert.pem

    更改php.ini文件中的设置:

    curl.cainfo=“C:\xampp\php\cacert.pem


    我也遇到了同样的问题。你必须用一个简单的编辑器(bloc note)打开文件.pem或pem.txt,并跳过文件中的()。你必须重新加载apache。

    如果有人使用Plesk运行Windows,他们会收到此错误

    您必须确保curl.cainfo路径位于Plesk PHP目录中,否则即使修复了,也会出现上述错误

    curl.cainfo = "C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP55\extras\ssl\cacert.pem.txt"
    

    对我来说已修复。希望有一天,在某个地方,这对某人有所帮助。

    我尝试过@mahesh singh chouhan、@omarsafwany、@LyleK solutions。但重复出现同样的错误

    在那之后,我更新了php.ini文件,没有双引号&扩展名为.pem&我成功地用下面的代码获得了想要的结果

    curl.cainfo=E:\Xampp-5.6.3\php\ext\cacert.pem
    
    我还附上了截图

    请先尝试以上用户建议,如果失败也使用此

    谢谢你的解决方案,它为我创造了道路 @mahesh singh chouhan,@omarsafwany,@LyleK


    适用于windows的

    在Windows 2008上更新php后,我也遇到了同样的问题。突然,我所有的php代码都停止了工作。我所做的就是选择php.ini,然后我找到了一行代码

    ;curl.cainfo=

    然后我改成了

    curl.cainfo=“C:\Program Files(x86)\PHP\v7.0\cacert.pem”
    (记住删除;在curl.cainfo之前)


    一切正常。你需要的是下载一个cert文件并将其放在服务器上的任何位置,然后像我在php中所做的那样更改行。ini

    似乎你忘记为文件路径添加引号。我遇到了相同的错误(77),那是因为我忘记添加引号。我通过添加引号解决了问题。例如:
    ”C:\AppServ\php\cacert.pem“

  • 从()下载
  • 将名称“cacert.pem”更改为“curl ca bundle.crt
  • 在“php.ini”中,删除下一行中的“”:
    curl.cainfo=“C:\xampp\apache\bin\curl ca bundle.crt”

  • 这对我有用。

    你没有仔细阅读错误,现在仔细阅读

    cURL error 77:设置证书验证位置时出错:CAfile:D:\XAMPP\apache\bin\cURL-ca-bundle.crt CApath:none(请参阅)

    这意味着您缺少一个名为curl-ca-bundle.crt的文件来验证证书位置, 所以您只需要将这个(curl ca bundle.crt)文件放入XAMPP\apache\bin\文件夹中 一切都很好,错误已经过去了

    curl-ca-bundle.crt,要下载文件,可以使用此链接

    我的错误是:

    卷曲错误77:错误集合
     $client = new Client(['verify' => false ]);
    
       $headers = [
                'Authorization' => 'Bearer ' . $token,
                'Accept' => 'application/json',
                RequestOptions::BODY => ' any code for your body ',
            ];
    
            $response = $client->request('POST', 'bar', [
                'headers' => $headers
            ]);
    
            $response = $response->getBody()->getContents();
    
            return $response;
    
    ;openssl.cafile 
    
    ;curl.cainfo
    
    ;curl.cainfo =
    
    ;openssl.cafile=
    
    curl.cainfo ="C:\php-7.4.11\extras\ssl\cacert.pem"
    
    openssl.cafile="C:\php-7.4.11\extras\ssl\cacert.pem"
    
    php -i | grep 'Configuration File'