2016-08-12 556 views
5

在我的開發中,我的代碼工作正常。當我推送到我的服務器時,它變成了錯誤。Laravel guzzle cURL錯誤6:無法解析主機:http(請參閱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('/'); 
} 

任何解決方案?

感謝

+4

你在.env中設置了API_DOMAIN嗎? – xmhafiz

+0

重新啓動服務器。兩個小時後,這對我來說很有用。 – gras

+0

我重新啓動服務器,問題再次發生。 – user3494047

回答

0

你API_DOMAIN可能沒有被設置成適當的URL(沒有它以http://或https://)?

也可能值得嘗試重新啓動網絡服務器(例如重新啓動nginx)。

它也可能是您的服務器上的連接問題。您可以嘗試重新啓動VPS,或者檢查防火牆是否阻止了您的傳出請求。也許暫時禁用iptables或firewalld。

API_DOMAIN也可能存在DNS問題。也許你在你的developmnet環境的/ etc/hosts中本地配置了它,但不是在生產環境中。您可以檢查dns是否正確解析或將其添加到生產服務器上的/ etc/hosts文件中。

1

我花了一天才找到那個最好的做法是真正捕獲異常以下方式:

catch(\Exception $ex) 

這\使所有的差異!所以請勿使用:

catch(Exception $ex) 

您可以將此捕獲置於所有其他特定異常被捕獲的末端。

相關問題