2016-08-12 389 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) 

您可以将此捕获置于所有其他特定异常被捕获的末端。

相关问题