简体   繁体   中英

Laravel guzzle cURL error 6: Could not resolve host: http (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

On my development my code is working properly. When I push to my server it become error.

cURL error 6: Could not resolve host: http (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

Here is my code:

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('/');
}

Any solution?

Thanks

My solution is to clear all type of caches in Artisan.

Run these commands together:

php artisan route:clear
php artisan config:clear
php artisan cache:clear

I spent a day to find that the best practice is to actually catch Exceptions in the following manner:

catch(\Exception $ex)

That \ makes all the difference! so DO NOT use :

catch(Exception $ex)

You can put this catch at the end where all other specific exceptions are caught.

Your API_DOMAIN may not have been set to a proper url (did it start with http:// or https://)?

It may also be worth a try to restart the web server (eg restart nginx).

It could also be a connectivity issue on your server. You can try a reboot of the VPS or check if the firewall did not block your outgoing request. Maybe disable iptables or firewalld for a moment.

There could also be issues with the DNS for the API_DOMAIN. Maybe you did configure it locally in your /etc/hosts on your developmnet environment but not on production. You may check if the dns resolves properly or add it to your /etc/hosts file on your production server.

This answer helped me. It turned out to be a disparity between curl versions on OSX. Each had a version of openssl being used. Nightmare to find but a straightforward fix. See https://stackoverflow.com/a/54908305/2867894

I had this issue recently and it turns out that I was tunneling through a proxy server. I stopped routing through a proxy and it worked just fine.

Do

php artisan optimize:clear

to clear all caches in laravel

只需运行您的网络服务器,我有同样的错误,但我的服务器已关闭,然后我打开它,它对我有用

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM