61 votes

localhost vs 127.0.0.1

  1. N'utilisez localhost en mysql_connect() faire la connexion beaucoup plus rapide que 127.0.0.1?
  2. Quel est le type de connexion entre le script PHP et mySQL (lors de l'utilisation de l' mysql_connect() de la fonction) ? C'est le protocole TCP/IP?

84voto

halfdan Points 16440
  1. Diffère entre Windows et Linux. Si vous utilisez un socket de domaine unix ça va être un peu plus rapide que d'utiliser le protocole TCP/IP (en raison de la moins de frais généraux que vous avez).
  2. Windows est à l'aide de TCP/IP en tant que par défaut, alors que Linux essaie d'utiliser une Socket de Domaine Unix si vous choisissez localhost et le protocole TCP/IP si vous prenez 127.0.0.1.

21voto

Piotr Pankowski Points 1329

"localhost" signifie socket de connexion alors que 127.0.0.1 est TCP/IP. Et oui, les prises sont plus rapide que TCP/IP.

Citer http://pl.php.net/mysql_connect

Chaque fois que vous spécifiez "localhost" ou "localhost:port" en tant que serveur, la bibliothèque cliente MySQL va remplacer cette et essayez de vous connecter à un socket local (tube nommé sur Windows). Si vous voulez utiliser le protocole TCP/IP, utilisez "127.0.0.1" au lieu de "localhost". Si la bibliothèque client MySQL essaie de se connecter au mauvais socket local, vous devez définir le chemin d'accès correct dans votre configuration de PHP et de laisser le champ serveur vide.

17voto

Vasekdvor Points 79

Nope, le 127.0.0.1 est recommandé d'utiliser , parce que Windows 7 a un problème avec le choix entre IPv6 et IPv4. J'ai essayé cela et si j'ai utilisé localhost, la page de rechargement environ 1sec (1,04 sec) et quand j'ai utilisé l'adresse 127.0.0.1, la page de rechargement 50ms. Les deux ont été utilisés sous Windows 7.
Dans Windows XP, il ne fait pas de différence.

2voto

Igael Points 11

Pour Unix, ajouter le client bloc après [client] dans /etc/mysql/my.cnf cette ligne :

protocol=tcp

0voto

Sinan Points 2095

Php site dit:

Note:

Chaque fois que vous spécifiez "localhost" ou "localhost:port" en tant que serveur, MySQL client bibliothèque de passer outre et de essayez de vous connecter à un socket local (tube nommé sur Windows). Si vous voulez pour l'utilisation de TCP/IP, utilisez "127.0.0.1" à la place de "localhost". Si le client MySQL la bibliothèque tente de se connecter à la mauvaise socket local, vous devez définir la chemin d'accès correct dans votre PHP la configuration et quitter le serveur champ vide.

Je suppose que la différence de vitesse serait trop faible pour que c'est quelque chose que vous devriez pas être inquiet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X