ホストを「localhost」から「mydomain.com」に更新すると、Wordpress が突然 MySQL データベース サーバーに接続できるようになるのはなぜですか?

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

質問

これは、「接続できない」問題の具体的なバリエーションです。私の場合、httpd.conf でポート 80 でリッスンする 2 つの仮想ホストを設定しました。宣言は次のようになります。

NameVirtualHost *:80

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

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

したがって、私の理解では、 http://ローカルホスト そして http://site1.dev これで両方とも「/www/site1/」にマップされ、もちろん http://site2.dev そのディレクトリにマップされます。

これは全く問題ありません。現在、site2.dev ドメインの下に Wordpress をインストールして遊んでいます。「localhost」のアカウント「mysql」を備えたMySQLデータベースで動作するように構成しようとしています。したがって、WordPressの構成では、そのユーザー名とホスト名を「localhost」としました。これはうまくいかないので、しばらくプレイした後、ホスト名を「site2.dev」に変更しようとすると、突然正常に機能します。

何が起きてる?仮想ホストがセットアップされていることは理解していますが、仮想ホストは MySQL が使用するポート 3306 ではなくポート 80 でリッスンしていると考えたのですが、なぜそれが重要なのでしょうか?簡単な説明があると思いますので、誰かが私を教えてくれることを願っています。

役に立ちましたか?

解決

疑わしいのは、MySQL のアクセス制御設定です。yourhost.foo と localhost は、それに関して言えば完全に異なっており、それが常に人々を悩ませています。ホストをキーとした WP の MySQL ユーザー テーブル エントリが存在する場合 yourhost.foo だがしかし localhost, 、それならそれが問題です。

他のヒント

仮想ホストのセットアップの一環として /etc/hosts ファイルを編集しましたか?誤って「localhost」エントリを削除した可能性があります。

DB がループバック インターフェイス (localhost) でリッスンしていないためです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top