![](/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.