12

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

ssuhat
  • 7,387
  • 18
  • 61
  • 116

7 Answers7

12

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
Stephen Rauch
  • 47,830
  • 31
  • 106
  • 135
Matianda
  • 131
  • 1
  • 6
3

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.

Jason Roman
  • 8,146
  • 10
  • 35
  • 40
Amir Hajiha
  • 836
  • 8
  • 20
1

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 (e.g. 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.

Roderik
  • 307
  • 1
  • 4
  • 12
1

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

omarjebari
  • 4,861
  • 3
  • 34
  • 32
0

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.

David Enoma
  • 311
  • 1
  • 13
0

Do

php artisan optimize:clear

to clear all caches in laravel

Aravindh Gopi
  • 2,083
  • 28
  • 36
-1

Just run your web server, I had the same error but my server was OFF, then I turn it on, and it works for me

Muaath Alhaddad
  • 341
  • 2
  • 14