сообщение: «SQLSTATE [HY000] [2002] php_network_getaddresses: getaddrinfo fail: временный сбой в разрешении имени (SQL: select * from` users` ...) " - PullRequest
1 голос
/ 31 октября 2019

Я разработал веб-портал для операционной системы Windows, используя Angular-7 в качестве внешнего интерфейса и Laravel-5.8 в качестве внутреннего. Перед развертыванием я проверил все на локальной машине, и все было в порядке.

IP-адрес сервера Linux Ubuntu: 20.10.10.122 Путь к файлу Laravel:

http://120.10.10.122/client-app/backend

.env

APP_NAME=Client
APP_ENV=local
APP_KEY=base64:QT/LLNA/aduSekOXF4/CsY1iYEcRwwwwssssssHxuFs=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=http://localhost/
DB_PORT=3306
DB_DATABASE=client
DB_USERNAME=jdggsss
DB_PASSWORD=kjhgfdddd

Однако, когда я развернул на Linux Ubuntu-18 Server, я запустил приложение. Когда пользователь пытался войти в систему, я получил эту ошибку:

сообщение: «SQLSTATE [HY000] [2002] php_network_getaddresses: getaddrinfo fail: временный сбой в разрешении имени (SQL: выберите * из usersгде email = noblemfd@yahoo.com и active = 1, а deleted_at - ноль, а users. deleted_at - ноль-предел 1) "

Почему я получаюошибка и как мне ее устранить?

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Измените переменную среды, чтобы подключиться к локальному серверу MySQL

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=client
DB_USERNAME=jdggsss
DB_PASSWORD=kjhgfdddd

Надеюсь, это поможет

0 голосов
/ 31 октября 2019

Ваша переменная окружения DB_HOST явно неверна. Вы добавили http:// URI-схему к ней. Схема http:// предназначена для идентификации протокола http, MySQL его не использует.

Вы должны использовать только hostname без префиксов:

DB_HOST=localhost
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...