2016-03-30 5 views
0

diese Funktion null und druckt Fehler zurückgibt:PHP curl gibt Fehler zurück: Host 'www.xxx.com' konnte nicht aufgelöst werden. Wie kann ich das lösen?

nicht Host auflösen konnte 'www.xxx.com'

function file_get_html_using_cURL($url) { 
    if (!function_exists('curl_init')){ 
     die('CURL is not installed!'); 
    } 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_HEADER, true); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

    $output = curl_exec($ch); 
    if(curl_errno($ch)){ 
     echo 'Curl error: ' . curl_error($ch); 
     echo "\n--------------------\n"; 
     print_r(curl_getinfo($ch)); 
     echo "\n--------------------\n"; 
    } 
    $output = str_get_html($output); // <-- Important line to convert string into object! 
    curl_close($ch); 
    return $output; 
} 

Wenn ich diesen Code in localhost laden, funktioniert es. Aber es wirft den Fehler, wenn ich es auf den Remote-Server hochladen.

Ich vermute, dass der Remote-Server blockiert CURL von der Ausführung.

Es ist ein freier Server, so kann ich keine Einstellungen in der php.ini ändern

Gibt es eine Möglichkeit, um dieses?

P.S.

file_get_content($url) 

ist ebenfalls blockiert. Also habe ich stattdessen mit curl versucht. Aber nicht Curl scheint nicht mehr zu funktionieren.

+0

können Sie ping jeden Host? Ping google.com? Wenn nicht, dann bearbeite /etc/resolv.conf und setze eine Zeile nameserver 8.8.8.8 – dkakoti

+0

Ich denke, es ist ein Problem mit deiner DNS ... kontaktiere deinen Systemadministrator und prüfe die Firewall –

+0

@ChetanAmeta Der Serveradministrator sagte, dass php curl gut funktionieren sollte. Hier sind die PHP-Einstellungen. 112.175.184.89/phpttest.php Ist es etwas, das nichts mit DNS zu tun hat? Tut mir leid, ich bin ein Anfänger .. –

Antwort

0

Bitte überprüfen Sie den folgenden Code und überprüfen Sie Ihr Serverproblem.

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_HEADER, 1); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl, CURLOPT_HTTPGET, 1); 
curl_setopt($curl, CURLOPT_URL, 'YOUR_URL'); 
curl_setopt($curl, CURLOPT_DNS_USE_GLOBAL_CACHE, false); 
curl_setopt($curl, CURLOPT_DNS_CACHE_TIMEOUT, 2); 

var_dump(curl_exec($curl)); 
var_dump(curl_getinfo($curl)); 
var_dump(curl_error($curl)); 
+0

Ich habe versucht, aber das Ergebnis ist das gleiche Der Host "www.address.com" konnte nicht aufgelöst werden. –

Verwandte Themen