仍然显示相同的错误:cURL error 60: SSL certificate problem: unable to get local issuer certificate
Still same error display: cURL error 60: SSL certificate problem: unable to get local issuer certificate
我正在使用 PHP 8.1.2 版和 Laravel 9.8.1 版。我通过 https://www.scratchcode.io/curl-error-ssl-certificate-problem-unable-to-get-local-issuer-certificate/ link 中的这些步骤解决了这个问题。但我仍然遇到同样的错误。
我的代码
$response = Http::timeout(30)->get('http://example.com/users');
我也在 laravel 中做了另一个项目,但我仍然遇到同样的错误
如何解决这个问题:
下载解压cacert.pem following the instructions at https://curl.se/docs/caextract.html
将其保存在文件系统中的某处(例如,XAMPP 用户可能使用 C:\xampp\php\extras\ssl\cacert.pem)
在你的php.ini中,把这个文件位置放在[curl]部分(放在[openssl]部分也是个好主意):
示例:
[curl]
curl.cainfo = "C:\xampp\php\extras\ssl\cacert.pem"
[openssl]
openssl.cafile = "C:\xampp\php\extras\ssl\cacert.pem"
- 重新启动您的网络服务器(例如 Apache)和 PHP FPM 服务器(如果适用)
参考here
您还可以删除本地主机上的 SSL 验证。只需要在 'withOptions' 方法中向 de GuzzleHttp 客户端添加选项以禁用验证。
$options = ['verify'=>false];
检查本地环境是否可以做一个简单的 if:
public function authApi(){
$options = [];
if (App::environment('local')) {
$options = ['verify'=>false];
}
return Http::withBasicAuth($this->client_key, $this->client_key_secret)->withOptions($options);
}
我正在使用 PHP 8.1.2 版和 Laravel 9.8.1 版。我通过 https://www.scratchcode.io/curl-error-ssl-certificate-problem-unable-to-get-local-issuer-certificate/ link 中的这些步骤解决了这个问题。但我仍然遇到同样的错误。
我的代码
$response = Http::timeout(30)->get('http://example.com/users');
我也在 laravel 中做了另一个项目,但我仍然遇到同样的错误
如何解决这个问题:
下载解压cacert.pem following the instructions at https://curl.se/docs/caextract.html
将其保存在文件系统中的某处(例如,XAMPP 用户可能使用 C:\xampp\php\extras\ssl\cacert.pem)
在你的php.ini中,把这个文件位置放在[curl]部分(放在[openssl]部分也是个好主意):
示例:
[curl]
curl.cainfo = "C:\xampp\php\extras\ssl\cacert.pem"
[openssl]
openssl.cafile = "C:\xampp\php\extras\ssl\cacert.pem"
- 重新启动您的网络服务器(例如 Apache)和 PHP FPM 服务器(如果适用)
参考here
您还可以删除本地主机上的 SSL 验证。只需要在 'withOptions' 方法中向 de GuzzleHttp 客户端添加选项以禁用验证。
$options = ['verify'=>false];
检查本地环境是否可以做一个简单的 if:
public function authApi(){
$options = [];
if (App::environment('local')) {
$options = ['verify'=>false];
}
return Http::withBasicAuth($this->client_key, $this->client_key_secret)->withOptions($options);
}