ホストを「localhost」から「mydomain.com」に更新すると、Wordpress が突然 MySQL データベース サーバーに接続できるようになるのはなぜですか?
-
22-08-2019 - |
質問
これは、「接続できない」問題の具体的なバリエーションです。私の場合、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) でリッスンしていないためです。