完全错误
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
我已经看过它们了,这就是为什么我在这里,
我的问题是我现在有了cacert.pem文件,但是放在哪里没有意义,答案表明将文件放在我的xampp目录中并更改我的php.ini
文件,但我没有使用xampp可以解决任何问题,我使用laravel的工匠服务器来运行我的项目。如果没有使用xampp,那么我应该在哪里放置此文件及更多内容,那么为什么要接受的答案是将其放置在我不明白的xampp目录中
我的确切问题
在laravel 5.4中,我应将cacert.pem
文件放在何处以阻止此错误?
永远不要修改vendor/
文件夹中的文件。曾经它们可以并且将在您运行的下一个作曲家更新中被覆盖。
这是我的WampServer解决方案
我正在为WampServer使用PHP 7.1.9,因此将以下示例中的7.1.9
更改为当前使用的版本号。
C:\wamp64\bin\php\php7.1.9
文件夹中php.ini
并找到此行:;curl.cainfo
将其更改为:
curl.cainfo = "C:\wamp64\bin\php\php7.1.9\cacert.pem"
请确保您删除了行首的分号。
将更改保存到php.ini
,重新启动WampServer,您一切顺利!
一种快速解决方案,但是不安全(不推荐)。>>
使用cURL:
将CURLOPT_SSL_VERIYPEER设置为false
使用枪口:
将验证设置为false
示例$ client-> request('GET','https://somewebsite.com',['verify'=>假]);
这很难找出答案,但这是使用laravel并有这个问题的人的确切答案。
\vendor\guzzlehttp\guzzle\src\Client.php
文件进行更改的解决方案是最糟糕的建议,因为如果运行composer update
命令,对供应商文件夹的手动更改将被覆盖。[最近有人问了同样的问题,看来我的答案就是为他解决的办法。这是我提到的帖子:URL Post
我在运行代客服务时尝试从代客服务的一个站点到另一个站点制作api时遇到了这个问题。请注意,我正在OSX中工作。我在这里找到了解决方案:https://github.com/laravel/valet/issues/460简而言之,您必须将代客Pem复制到系统CA捆绑包。只需运行此:
对于Laravel:以下5个步骤将很有帮助