Configuration :
- cURL 7.32.0
- Apache 2.2.25
- PHP 5.5.4
Chaque fois que j'essaie de :
$ch = curl_init('www.google.com');
curl_exec($ch);
var_dump(curl_error($ch));
dans PHP, j'obtiens :
Impossible de résoudre l'hôte : www.google.com
Si je change en curl_init('80.233.168.207')
(google.com résolu), le script s'exécute.
Cependant, en exécutant curl www.google.com
en CLI, j'obtiens une page HTML 302 Redirigé
, en raison d'une redirection vers un site localisé (*.lv), mais cela signifie tout de même que cURL s'est exécuté avec succès.
J'ai vu plusieurs questions similaires (pas sur SE cependant), la plupart disent que Apache est démarré avant ou en même temps que Network Manager, donc ne reçoit pas les informations DNS. La plupart des questions ont des réponses expliquant que le problème peut être temporairement résolu/débogué en arrêtant explicitement, puis en redémarrant le démon Apache (au lieu de le redémarrer/en grace).
fsockopen
, file_get_contents
fonctionnent parfaitement, cependant.
Mon hôte virtuel Apache :
ServerAdmin stone@altas.lv
ServerName localhost
DocumentRoot "/srv/stone/public"
ErrorLog "/srv/stone/app/storage/logs/apache-errors.log"
CustomLog "/srv/stone/app/storage/logs/apache-custom.log" common
php_admin_value open_basedir /
# Réécritures d'URL jolies, mieux ne pas dépendre de .htaccess
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Empêcher davantage de remplacements
AllowOverride None
Order allow,deny
Allow from all
Et la configuration globale a simplement une entrée spécifique pour Listen 777
.
Ceci et cela, mènent tous deux à un problème DNS, donc, je pense que j'ai peut-être des problèmes avec également, de plus, cela semble clair.
J'ai essayé en changeant les entrées d'hôte virtuel en 0.0.0.0:777
et d'autres configurations en vain.
Comment puis-je résoudre le problème ?
0 votes
Si vous essayez d'ajouter
80.233.168.207 www.google.com
dans votre fichier/etc/hosts
, vous devriez pouvoir confirmer qu'il s'agit d'un problème de DNS. Il est un peu étrange que votre commande CLI parvienne à effectuer la recherche. Pour information, le code fonctionne sur mon installationApache
.0 votes
Ajouter cela aux hôtes a permis au script de fonctionner.