title: curl and file_get_contents not work after ajax call
body: <p>I'm trying to retrieve user's city info by using the coordinates. There is a javascript function that takes latitude/longitude and sends it across to a php file with ajax:</p>
  
  <p><strong>Javascript function</strong></p>
  
  <pre><code>if (navigator.geolocation) { //Checks if browser supports geolocation
          var Clatitude = "no";
          var Clongitude;
  
          navigator.geolocation.getCurrentPosition(function(position) {
                  Clatitude = position.coords.latitude;
                  Clongitude = position.coords.longitude;
                  $.ajax({
                      type: "POST",
                      url: "../wp-content/themes/Avada-child/test_BLZ.php",
                      data: {'latitudine': Clatitude,'longitudine': Clongitude},
                      success: function(data) {
                      console.log(data);
                      },
                      dataType: "JSON"
                  });
              },
              function(error) {
  
                   alert(error.message);
                   }, {
                  enableHighAccuracy: true,
                  timeout: 5000
              });
      }
  </code></pre>
  
  <p><strong>Server side script written in PHP</strong></p>
  
  <pre><code>&lt;?php
  
  $latitudine = $_POST['latitudine'];
  $longitudine = $_POST['longitudine'];
  $geolocation = $latitudine.','.$longitudine;
  $request = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.$geolocation.'&amp;sensor=false'; 
  $file_contents = url_get_contents($request);
  echo ($file_contents);
  
  function url_get_contents ($Url) {
      if (!function_exists('curl_init')){ 
          die('CURL is not installed!');
      }
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $Url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      $output = curl_exec($ch);
      curl_close($ch);
      return $output;
  }
  ?&gt;
  </code></pre>
  
  <p>The problem is that the response is not displayed in my console. I tried to ge the response with <code>file_get_contents</code> and still was not able to retrieve the response </p>
  
  <p>Except for this, the rest of the code works fine. In fact as soon as I remove <code>curl's</code> stuff or <code>file_get_contents</code> from the php file, the rest of the code functions smoothly. I even managed to retrieve a (fake) response in ajax success function. </p>
  
  <p>Can someone help? Thanks ;)</p>
  
  <p>---edit 
  my curl execution time is very long, i run the same code on another server and these are the differences:</p>
  
  <p><strong>server with long curl execution time</strong></p>
  
  <pre><code>{
     "url": "http://maps.googleapis.com/maps/api/geocode/json?latlng=45.644843,8.9986268&amp;sensor=false",
     "content_type": "application/json; charset=UTF-8",
     "http_code": 200,
     "header_size": 377,
     "request_size": 119,
     "filetime": -1,
     "ssl_verify_result": 0,
     "redirect_count": 0,
     "total_time": 127.26954,
     "namelookup_time": 0.001964,
     "connect_time": 127.23926,
     "pretransfer_time": 127.239265,
     "size_upload": 0,
     "size_download": 11729,
     "speed_download": 92,
     "speed_upload": 0,
     "download_content_length": -1,
     "upload_content_length": 0,
     "starttransfer_time": 127.269424,
     "redirect_time": 0,
     "certinfo": []
     "request_header":"GET \/maps\/api\/geocode\/json?latlng=45.644843,8.9986268&amp;sensor=false HTTP\/1.1\r\nHost: maps.googleapis.com\r\nAccept: *\/*\r\n\r\n"
  }
  </code></pre>
  
  <p><strong>server with short curl execution time</strong></p>
  
  <pre><code>{
     "url": "http://maps.googleapis.com/maps/api/geocode/json?latlng=45.644843,8.9986268&amp;sensor=false",
     "content_type": "application/json; charset=UTF-8",
     "http_code": 200,
     "header_size": 377,
     "request_size": 119,
     "filetime": -1,
     "ssl_verify_result": 0,
     "redirect_count": 0,
     "total_time": 0.116182,
     "namelookup_time": 0.012194,
     "connect_time": 0.027452,
     "pretransfer_time": 0.027473,
     "size_upload": 0,
     "size_download": 11729,
     "speed_download": 100953,
     "speed_upload": 0,
     "download_content_length": -1,
     "upload_content_length": 0,
     "starttransfer_time": 0.114101,
     "redirect_time": 0,
     "redirect_url": "",
     "primary_ip": "172.217.**.**",
     "certinfo": [],
     "primary_port": 80,
     "local_ip": "192.168.**.**",
     "local_port": 51393
     "request_header":"GET \/maps\/api\/geocode\/json?latlng=45.644843,8.9986268&amp;sensor=false HTTP\/1.1\r\nHost: maps.googleapis.com\r\nAccept: *\/*\r\n\r\n"
  }
  </code></pre>
  
  <p>What is the matter with my server? I notice that in the first case there aren't ip references!</p>