2010-07-30 2 views
2

J'ai un code CURL qui récupère du contenu XML à partir d'un serveur distant. Je reçois la sortie attendue sur mon localhost (XAMPP sur Windows). Mais à partir du site en direct (hébergé sur Linux), j'obtiens l'erreur CURL: 'Impossible de se connecter à l'hôte'.CURL travaillant à partir localhost mais pas sur le site en direct

function DownloadUrl($Url, $p){ 

// est installé curl? if (! Function_exists ('curl_init')) { die ('CURL n'est pas installé!'); }

// create curl resource 
    $ch = curl_init(); 

    // set url 
    curl_setopt($ch, CURLOPT_URL, $Url); 

curl_setopt ($ch, CURLOPT_POSTFIELDS, $p); 
curl_setopt ($ch, CURLOPT_POST, 1); 
    //return the transfer as a string 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    // $output contains the output string 
    $output = curl_exec($ch); 

if($output === false) 
echo 'Curl error: ' . curl_error($ch); 
else 
    print $output; 
    // close curl resource to free up system resources 
    curl_close($ch);   

}

+0

Avez-vous essayé d'envoyer une requête ping à votre hôte à partir du serveur Linux? Avez-vous essayé de connecter votre hôte à votre serveur Linux? Si oui, le résultat est-il correct? –

+0

cela devrait être étiqueté PHP aussi. –

+1

Il serait utile de connaître votre environnement distant, par exemple, l'hébergement partagé, VPS, etc. Certains fournisseurs partagés ne vous permettront pas d'extraire du contenu d'autres sites à l'aide de curl. Si vous êtes sur un VPS, vous pouvez vérifier qu'il existe des règles iptables appropriées pour vous permettre également des connexions sortantes. – suitedupgeek

Répondre

1

sur vous vivez serveur. exécutez phpinfo(); et vérifiez que php_curl est installé et actif. Cela génère normalement une exception fatale mais plutôt que le "ne peut pas se connecter à l'hôte". message que vous obtenez.

Si vous rencontrez toujours des problèmes, vous pouvez essayer un traceroute vers l'URL via SSH pour vous assurer que le site Web peut réellement se connecter. Il peut y avoir un paramètre de configuration ou un autre service qui cause des problèmes.

Questions connexes