Ahi*_*han 2 php api ssl laravel
我使用 PHP 版本 8.1.2 和 Laravel 版本 9.8.1。我从这个https://www.scratchcode.io/curl-error-ssl-certificate-problem-unable-to-get-local-issuer-certificate/链接中了解了这些步骤来解决此问题。但我仍然遇到同样的错误。
我的代码
$response = Http::timeout(30)->get('http://example.com/users');
我还在 laravel 中做了另一个项目,但仍然遇到同样的错误
如何解决这个问题呢:
将其保存在文件系统的某个位置(例如,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"
Run Code Online (Sandbox Code Playgroud)
参考这里
您还可以删除本地主机上的 SSL 验证。只需在“withOptions”方法中向 de GuzzleHttp 客户端添加选项即可禁用验证。
$options = ['verify'=>false];
Run Code Online (Sandbox Code Playgroud)
要检查本地环境是否可以执行简单的 if:
public function authApi(){
$options = [];
if (App::environment('local')) {
$options = ['verify'=>false];
}
return Http::withBasicAuth($this->client_key, $this->client_key_secret)->withOptions($options);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10542 次 |
| 最近记录: |