2009-02-09 9 views
1

Il s'agit d'une variante spécifique du problème "impossible à connecter". Dans mon cas, je viens de mettre en place deux hôtes virtuels dans mon httpd.conf écoute sur le port 80. La déclaration ressemble à:Pourquoi Wordpress peut-il se connecter soudainement au serveur de base de données MySQL une fois que j'ai mis à jour l'hôte de "localhost" à "mydomain.com"?

 
NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerName site1.dev 
    DocumentRoot /www/site1 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName site2.dev 
    DocumentRoot /www/site2 
</VirtualHost> 

Donc si je comprends bien, http://localhost et http://site1.dev maintenant à la fois carte à «/www/site1/"et bien sûr http://site2.dev des cartes à son répertoire.

Tout cela est très bien. J'ai une installation Wordpress avec laquelle je joue actuellement sous le domaine site2.dev. J'essaie de le configurer pour fonctionner avec la base de données MySQL que je viens de mettre en place qui a un compte "mysql" pour "localhost". Donc, dans la configuration pour Wordpress, j'ai mis dans ce nom d'utilisateur et le nom d'hôte en tant que "localhost". Cela ne fonctionne pas, donc après avoir joué avec lui pendant un moment, j'essaye de changer le nom d'hôte en "site2.dev" et tout à coup cela fonctionne très bien.

Que se passe-t-il ici? Je comprends que mes hôtes virtuels sont configurés, mais je pensais qu'ils écoutaient sur le port 80, pas sur le port 3306, ce que MySQL utilise, alors pourquoi est-ce important? Je suis sûr qu'il y a une explication simple, alors j'espère que quelqu'un pourra m'éclairer.

Répondre

4

Un suspect probable est votre configuration de contrôle d'accès MySQL. yourhost.foo et localhost sont complètement différents, en ce qui le concerne, et ça mord toujours les gens. Si des entrées de table utilisateur MySQL existent pour WP avec l'hôte codé yourhost.foo mais pas localhost, alors c'est le problème. Parce que votre base de données n'écoute pas sur l'interface de bouclage (localhost)

+0

Pouvez-vous élaborer un peu là-dessus? Que voulez-vous dire exactement par configuration de contrôle d'accès MySQL et pourquoi les deux domaines sont-ils différents en ce qui le concerne? – Bialecki

+0

Je ne pense pas qu'il y ait des entrées dans les tables WP qui référencent un domaine par rapport à l'autre car je n'ai rien changé depuis la sauvegarde du site en direct jusqu'à ce que je fonctionne, mais c'est un bon point. – Bialecki

+0

Ce n'est pas une question de WP. MySQL a une base de données, appelée mysql, avec des tables qui déterminent quels utilisateurs peuvent s'y connecter et ce qu'ils peuvent faire. Toute la syntaxe de MySQL GRANT PRIVILEGE est à ce sujet. vous devriez probablement regarder dedans, et à la sortie de 'mysqldump mysql'. – chaos

0

Avez-vous modifié votre fichier/etc/hosts dans le cadre de la configuration de vos hôtes virtuels? Vous avez peut-être supprimé l'entrée "localhost" en cas d'accident.

+0

N'a pas modifié le fichier hosts pendant cette phase. Il contient les deux lignes qui associent localhost et site2.dev à 127.0.0.1. – Bialecki

0

Questions connexes