cURL error 60和SSL CA bundle not found解决方案

cURL error 60和SSL CA bundle not found解决方案

问题复现

最近将laravel项目部署服务器时
由于站点已配置了tls
使用GuzzleHttp\Client请求oauth的时候
出现了这个问题

cURL error 60: SSL certificate problem: certificate is not yet valid

伴随而来的可能还有这个问题
SSL CA bundle not found: xxxx

解决方案一「博主尝试不成功😂」

下载证书文件并保存到项目根目录「public」

http://curl.haxx.se/ca/cacert.pem

使用证书

1
2
3
4
5
6
<?php
use GuzzleHttp\Client as Guzzle;
$client = new Guzzle([
'base_uri' => 'https://example.com/xx',
'verify' => base_path('cacert.pem'),
]);

解决方案二

1
2
3
<?php
use GuzzleHttp\Client as Guzzle;
$client = new Guzzle(['verify' => false ]);

提示

网上也看到有些伙伴
直接修改vendor中的文件 这当然也能解决
但是不太建议 因为当执行composer update的时候
文件会被覆盖⚠️

# PHP

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×