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

2022-08-30 11:12:55

完整错误

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)

场景

在有人向我指出这两个laracasts答案之前: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目录中并更改我的文件,但我没有使用xampp做任何事情,我正在使用Laravel的工匠服务器来运行我的项目。php.ini

如果未使用 xampp,我应该将此文件放在哪里?此外,为什么接受的答案是将其放在我的xampp目录中?我不明白。

我的确切问题

在 laravel 5.4 中,我应该在哪里放置文件以阻止此错误?cacert.pem


答案 1

切勿修改文件夹中的文件。曾。它们可以并且将在您运行的下一次编辑器更新中被覆盖。vendor/

这是我的WampServer解决方案

我正在使用PHP 7.1.9作为我的WampServer,所以在下面的示例中更改为您当前使用的版本号。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"

确保删除该行开头的分号。

保存更改到 ,重新启动 WampServer,即可开始使用!php.ini


答案 2

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

使用 cURL

Set CURLOPT_SSL_VERIYPEER to false

使用 Guzzle:例如,将验证设置为 false

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

推荐