Почему Wordpress может внезапно подключиться к серверу базы данных MySQL, как только я обновляю хост с “localhost” на “mydomain.com”?
-
22-08-2019 - |
Вопрос
Это специфический вариант проблемы "не удается подключиться".В моем случае я только что настроил два виртуальных хоста в моем httpd.conf, прослушивающем порт 80.Декларация выглядит следующим образом:
NameVirtualHost *:80 <VirtualHost *:80> ServerName site1.dev DocumentRoot /www/site1 </VirtualHost> <VirtualHost *:80> ServerName site2.dev DocumentRoot /www/site2 </VirtualHost>
Итак, насколько я понимаю, http://localhost и http://site1.dev теперь оба сопоставляются с "/www/site1/" и, конечно http://site2.dev сопоставляет с его каталогом.
Все это прекрасно.У меня есть установка Wordpress, с которой я сейчас играю в домене site2.dev.Я пытаюсь настроить его для работы с базой данных MySQL, которую я только что настроил, у которой есть учетная запись "mysql" для "localhost". Итак, в конфигурации для Wordpress я ввел это имя пользователя и имя хоста как "localhost". Это не работает, поэтому, поиграв с этим некоторое время, я пытаюсь изменить имя хоста на "site2.dev", и внезапно все работает нормально.
Что здесь происходит?Я понимаю, что мои виртуальные хосты настроены, но я думал, что они прослушивают порт 80, а не порт 3306, который использует MySQL, так почему все это имеет значение?Я уверен, что этому есть простое объяснение, так что, надеюсь, кто-нибудь сможет меня просветить.
Решение
Вероятным подозреваемым является ваша конфигурация контроля доступа MySQL.yourhost.foo и localhost совершенно разные, насколько это касается, и это всегда раздражает людей.Если записи пользовательской таблицы MySQL существуют для WP с ключом хоста к yourhost.foo
но не localhost
, тогда в этом-то и проблема.
Другие советы
Редактировали ли вы свой файл /etc / hosts в рамках настройки ваших виртуальных хостов?Возможно, вы случайно удалили запись "localhost".
Потому что ваша база данных не прослушивает интерфейс обратной связи (localhost).