![](/img/trans.png)
[英]Laravel - cURL error 6: Could not resolve host: api.mailgun.net; Unknown error (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
[英]Laravel guzzle cURL error 6: Could not resolve host: http (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
在我的开发中,我的代码工作正常。 当我推送到我的服务器时,它变成了错误。
cURL error 6: Could not resolve host: http (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
这是我的代码:
use GuzzleHttp\Client;
try {
$client = new Client();
$client->request('POST', env('API_DOMAIN') . '/v1/user/auth/verified_email',
['headers' => ['Authorization' => 'cm9vcGlhLnVzZXIud2ViOkY0RVN3VXJheS1qVVB1a18='],
'query' => ['token' => $key]]);
return redirect('/')->with('status', 'Your email has been verified. Thanks!')->with('statusType', 'success');
} catch (ConnectException $e) {
Log::error($e);
return redirect('/');
}
有什么解决办法吗?
谢谢
我的解决方案是清除 Artisan 中的所有类型的缓存。
一起运行这些命令:
php artisan route:clear
php artisan config:clear
php artisan cache:clear
我花了一天时间发现最好的做法是通过以下方式实际捕获异常:
catch(\Exception $ex)
那 \ 使一切变得不同! 所以不要使用:
catch(Exception $ex)
您可以将此捕获放在捕获所有其他特定异常的末尾。
您的 API_DOMAIN 可能没有设置为正确的 url(它是以 http:// 还是 https:// 开头)?
重新启动 Web 服务器可能也值得一试(例如重新启动 nginx)。
这也可能是您的服务器上的连接问题。 您可以尝试重新启动 VPS 或检查防火墙是否没有阻止您的传出请求。 也许暂时禁用 iptables 或 firewalld。
API_DOMAIN 的 DNS 也可能存在问题。 也许您确实在developmnet 环境的/etc/hosts 中本地配置了它,但没有在生产环境中配置它。 您可以检查 dns 是否正确解析或将其添加到生产服务器上的 /etc/hosts 文件中。
这个答案帮助了我。 结果是 OSX 上的 curl 版本之间存在差异。 每个都有一个正在使用的 openssl 版本。 噩梦般的发现,但一个简单的解决方法。 见https://stackoverflow.com/a/54908305/2867894
我最近遇到了这个问题,事实证明我正在通过代理服务器进行隧道传输。 我停止通过代理路由,它工作得很好。
做
php工匠优化:清除
清除laravel中的所有缓存
只需运行您的网络服务器,我有同样的错误,但我的服务器已关闭,然后我打开它,它对我有用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.