cURL错误60:Laravel 5.4中的SSL证书

问题描述 投票:16回答:7

完全错误

RequestException in CurlFactory.php line 187: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

场景

在任何人将我指向这两个laracast答案之前:https://laracasts.com/discuss/channels/general-discussion/curl-error-60-ssl-certificate-problem-unable-to-get-local-issuer-certificate

https://laracasts.com/discuss/channels/general-discussion/curl-error-60-ssl-certificate-problem-unable-to-get-local-issuer-certificate/replies/52954

我已经看过它们了,这就是为什么我在这里,

我的问题是我现在有了cacert.pem文件,但是放在哪里没有意义,答案表明将文件放在我的xampp目录中并更改我的php.ini文件,但我没有使用xampp可以解决任何问题,我使用laravel的工匠服务器来运行我的项目。如果没有使用xampp,那么我应该在哪里放置此文件及更多内容,那么为什么要接受的答案是将其放置在我不明白的xampp目录中

我的确切问题

在laravel 5.4中,我应将cacert.pem文件放在何处以阻止此错误?

php curl laravel-5.3
7个回答
73
投票

永远不要修改vendor/文件夹中的文件。曾经它们可以并且将在您运行的下一个作曲家更新中被覆盖。

这是我的WampServer解决方案

我正在为WampServer使用PHP 7.1.9,因此将以下示例中的7.1.9更改为当前使用的版本号。

  1. 下载此文件:http://curl.haxx.se/ca/cacert.pem
  2. 将此文件放置在C:\wamp64\bin\php\php7.1.9文件夹中
  3. 打开php.ini并找到此行:

;curl.cainfo

将其更改为:

curl.cainfo = "C:\wamp64\bin\php\php7.1.9\cacert.pem"

请确保您删除了行首的分号。

将更改保存到php.ini,重新启动WampServer,您一切顺利!


6
投票

一种快速解决方案,但是不安全(不推荐)。>>

使用cURL:

将CURLOPT_SSL_VERIYPEER设置为false

使用枪口:

将验证设置为false

示例$ client-> request('GET','https://somewebsite.com',['verify'=>假]);


6
投票

这很难找出答案,但这是使用laravel并有这个问题的人的确切答案。


2
投票
  • 某些用户建议的对\vendor\guzzlehttp\guzzle\src\Client.php文件进行更改的解决方案是最糟糕的建议,因为如果运行composer update命令,对供应商文件夹的手动更改将被覆盖。

0
投票

[最近有人问了同样的问题,看来我的答案就是为他解决的办法。这是我提到的帖子:URL Post


0
投票

我在运行代客服务时尝试从代客服务的一个站点到另一个站点制作api时遇到了这个问题。请注意,我正在OSX中工作。我在这里找到了解决方案:https://github.com/laravel/valet/issues/460简而言之,您必须将代客Pem复制到系统CA捆绑包。只需运行此:


-2
投票

对于Laravel:以下5个步骤将很有帮助

© www.soinside.com 2019 - 2024. All rights reserved.