Depuis la configuration de mes environnements de développement sur Mac OS X Lion (le tout nouveau macbook air acheté en janvier 2012), j'ai constaté que la résolution en hôte virtuel est très lente (environ 3 secondes) la première fois, mais ensuite rapidement Je continue de le charger régulièrement.
Si je le laisse intact pendant quelques minutes et que je le recharge à nouveau, le premier rechargement est (encore) péniblement lent; semble que quelque chose est mis en cache.
Comme on peut le voir ci-dessous, je n'utilise pas le TLD .local.
Ma configuration: Apache 2 - MySQL - PHP installé et activé - a ajouté quelques hôtes virtuels dont l'un que j'ai créé pour localhost.
Mon/etc/hosts:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 myproject.dev
::1 myproject.dev
fe80::1%lo0 myproject.dev
Mon hôte virtuel configuré dans nomutilisateur.conf:
NameVirtualHost *:80
<Directory "/Users/myusername/Sites/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
ServerName localhost
DocumentRoot /Users/myusername/Dropbox/dev_envs/
</VirtualHost>
<VirtualHost *:80>
ServerName myproject.dev
DocumentRoot /Users/myusername/Dropbox/dev_envs/myprojectname
</VirtualHost>
J'ai eu exactement le même problème et ça me rendait dingue!
Mettez toutes les entrées de votre fichier hosts pour localhost sur une seule ligne, comme ceci:
127.0.0.1 localhost myproject.dev myotherproject.dev
::1 localhost
fe80::1%lo0 localhost
A fonctionné à merveille pour moi. On dirait un bug dans Lion.
Il existe un autre problème 10.7. * À 10.8.4 pour les sites se terminant par ".local", ce qui provoque des recherches de cinq secondes. Détails et solution avec la permission de Bram (us) Van Damme au lien suivant:
http://www.bram.us/2011/12/12/mamp-pro-slow-name-resolving-with-local-vhosts-in-lion-fix/
"Par défaut, tout nom d'hôte se terminant par .local est traité comme un hôte Bonjour plutôt que d'interroger les entrées du serveur DNS dans les préférences Réseau.
Pour résoudre ce problème (sans avoir à renommer chaque vhost), vous devez ajouter des entrées IPv6 pour chacun de vos vhosts dans votre fichier/etc/hosts: "
::1 mysite.local
fe80::1%lo0 mysite.local
127.0.0.1 mysite.local
J'ai eu le même problème, aussi sur Lion.
Étrangement, ma solution était l'opposé de celle de Jeremy. J'ai eu tout un tas d'entrées someproject.dev sur une seule ligne dans/etc/hosts. Charger un site sur l'un d'entre eux la première fois a pris une éternité, comme une minute à peu près. Si je l'utilisais à nouveau dans les 5 secondes environ, c'était très rapide, mais beaucoup plus long et cela prendrait encore une minute. J'avais soupçonné toutes sortes de choses, connexions mysql, versions Ruby, bugs Rails, Apache, Phusion Passenger. Jusqu'au moment où j'ai enfin regardé la console et réalisé que des recherches de DNS étaient tentées.
Alors, je les ai tous mis sur des lignes distinctes:
127.0.0.1 localhost
127.0.0.1 myproject.dev
127.0.0.1 myotherproject.dev
Et soudain, tout redevint vif. Idem sur mes deux machines.
Spécifier le même hôte pour IPv6 :: 1 m'a aidé.
127.0.0.1 something.local.mydomain.org
::1 something.local.mydomain.org
Assurez-vous de mettre les entrées IP v6 pas dans la ligne avec localhost
::1 localhost
les entrées IP v6 vont dans une ligne séparée
fe80::1%lo0 here and_here
C'est parfois très rapide maintenant, mais il y a de rares exceptions où les vieux décalages reviennent. Ils pourraient cependant être basés sur d'autres raisons.
Sur OSX El Capitan, ce qui a fonctionné pour moi a été de dupliquer une entrée IPv6 juste au-dessus de celle d’IPv4, comme
fe80::1%lo0 demo.test.dev
127.0.0.1 demo.test.dev
S'assurer que les noms d'hôtes sont définis au début du fichier a fait toute la différence pour moi . Par défaut, la ligne 127.0.0.1 localhost est déjà au début, ajoutez simplement vos entrées sur la même ligne.
J'ai eu le même problème et je l'ai trouvé causé par l'activation d'IPv6 sur mon réseau local, mais je n'avais pas configuré IPv6 correctement entre mon réseau et mon fournisseur de services Internet. Apparemment, le serveur DNS IPv6 a priorité sur le DNS IPv4 lorsque le client reçoit les deux. Il a fallu quelques secondes (à chaque tentative) au client pour constater que le DNS IPv6 était inaccessible ou manquant, puis pour revenir au DNS IPv4.
J'ai eu le même problème et j'ai finalement réalisé que j'avais la même entrée d'hôte deux fois sur la même ligne:
par exemple.
127.0.0.1 localhost Host1 Host2 Host3 Host4 Host5 Host1 Host6
J'ai supprimé la deuxième instance du même hôte (dans l'exemple ci-dessus - Host1) - et les choses ont immédiatement accéléré.
Je me suis senti un peu bête quand j'ai découvert cela, mais quand vous avez 10 noms d'hôte longs sur la même ligne et que vous ajoutez/supprimez fréquemment, cela peut rapidement être oublié.
Remarque: J'utilise Windows et XAMPP. Toutefois, lors de la recherche du problème, de nombreuses personnes ont rencontré le même problème sous Windows et Mac. Répondez pour référence à quiconque trouve cette question car j'ai passé des heures à essayer de trouver une solution qui fonctionne pour moi:
J'ai essayé de nombreuses solutions au même problème, notamment en plaçant tous les hôtes sur une seule ligne, en supprimant les hôtes redondants et les virtualhosts et en incluant les lignes IPv6 - aucune de ces seules n'a abouti.
La seule solution qui a jusqu'à présent semble fonctionner pour moi est une combinaison de toutes les solutions:
Dans mon fichier hosts, mes hôtes sont actuellement sur des lignes séparées et jusqu'à présent, le problème semble être résolu.
Bonne chance à tous ceux qui tentent de résoudre ce problème et si quelqu'un a des informations à ajouter, veuillez le faire - cela semble être un problème qui touche beaucoup de gens sans cause ni solution connue.
Le truc qui l’a fait pour moi a été d’ajouter
127.0.0.1 locahost
sur la première ligne du fichier hôte.
Parmi tous mes hôtes virtuels, seuls ceux utilisant une base de données étaient lents. Je pense que c’est parce que le processus de recherche de «localhost» pour la connexion à la base de données a ralenti, puisque j’ai ajouté les adresses de mes hôtes virtuels et non pas «localhost». Maintenant, tout est à nouveau vif. :)
Je suis aussi tombé dessus. J'ai un groupe de vhosts définis sur deux lignes, une pour IPv4 et une pour IPv6. Déplacer l'hôte que j'essayais de résoudre pour être le premier de la liste l'a accéléré.
127.0.0.1 faster.example.dev Host1.example.dev Host2.example.dev Host3.example.dev Host4.example.dev Host5.example.dev Host6.example.dev
::1 faster.example.dev Host1.example.dev Host2.example.dev Host3.example.dev Host4.example.dev Host5.example.dev Host6.example.dev