php 如何让Guzzle在每次请求时忽略ssl验证

q7solyqu  于 2023-04-19  发布在  PHP
关注(0)|答案(2)|浏览(781)

我在我的Laravel应用程序中使用Guzzle 7.2。当Laravel Filemanager向Dropbox发出请求时,它使用Guzzle。我面临的问题是我得到cURL错误60:SSL证书问题,我发现Guzzle抛出此错误,因为我在localhost上托管我的应用程序(工匠服务),它不能验证SSL。我想让所有Guzzle请求不需要SSL验证。
我发现Guzzle 4.0不需要ssl验证,它不会抛出这个错误。问题是我不能在composer.json中定义Guzzle 4.0,因为我的其他软件包需要更高版本的Guzzle。我也找到了这个解决方案,使Guzzle请求忽略ssl验证

use GuzzleHttp\Client;

$client = new Client(['verify' => false]);

$response = $client->get('https://example.com/');

这个解决方案的问题是Filemanager发出了这个请求,我不知道这个请求是在哪里发出的,我找不到可以定义'verify' => false的代码的特定部分。我认为最简单的解决方案是用'verify' => false发出所有Guzzle请求,将其作为“全局定义”。
我理解忽略ssl的所有风险,但由于我在localhost上,这个解决方案肯定会为我工作。
我搜索了互联网,但找不到涉及Laravel文件管理器和禁用Guzzle ssl验证的解决方案。
问候

gwbalxhn

gwbalxhn1#

如果你的项目在测试中,你可以使用这个
但是ssl更安全

$response = $client->withoutVerifying()->get('https://example.com/');

希望对你有帮助

htrmnn0y

htrmnn0y2#

实际上我已经找到了artisan serve通过使用phpinfo()使用的php.ini文件。然后我下载了cert.pem并在php.ini中定义了它的位置,Guzzle能够验证请求。

相关问题