Pourquoi peut se connecter Wordpress soudainement au serveur de base de données MySQL une fois que je mets à jour l'hôte de « localhost » à « mydomain.com »?

StackOverflow https://stackoverflow.com/questions/527065

Question

Ceci est une variante spécifique sur le problème « ne peut pas se 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 à:

NameVirtualHost *:80

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

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

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

Ceci est bien beau. J'ai une installation Wordpress Je joue en ce moment dans le domaine site2.dev. Je suis en train de le configurer pour travailler avec la base de données MySQL Je viens de mettre en place qui a un compte « mysql » pour « localhost ». Ainsi, dans la configuration pour Wordpress, je mets ce nom d'utilisateur et le nom d'hôte comme « localhost ». Cela ne fonctionne pas, donc après avoir joué avec elle pendant un certain temps, j'essaie de changer le nom d'hôte « site2.dev » et tout à coup il fonctionne très bien.

Qu'est-ce qui se passe ici? Je comprends que mes hôtes virtuels sont configurés, mais je pensais qu'ils étaient à l'écoute sur le port 80, pas le port 3306, qui est ce que MySQL utilise, alors pourquoi tout de cette question? Je suis sûr qu'il ya une explication simple, si nous espérons que quelqu'un peut me éclairer.

Était-ce utile?

La solution

Un suspect probable est la configuration de contrôle d'accès MySQL. yourhost.foo et localhost sont complètement différentes, dans la mesure où il est concerné, et que mord toujours les gens. Si les entrées de table d'utilisateur MySQL existent pour WP avec l'hôte calée sur yourhost.foo mais pas localhost, alors c'est le problème.

Autres conseils

Avez-vous modifier votre fichier / etc / hosts dans le cadre de la configuration de vos hôtes virtuels? Vous avez peut-être supprimé l'entrée « localhost » sur un accident.

Parce que votre DB n'écoute pas sur l'interface de rebouclage (localhost).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top