GuzzleHttp генерирует ошибку ConnectExpection cURL 6: не удалось разрешить хост: & lt; localhostname & gt;

Я знаю, что там так много вопросов об этом, но я не могу найти ответ на свой вопрос.

у меня есть LoginController с authenticate() метод, который обрабатывает процесс входа в систему.

public function authenticate()
{
$email = $_POST['email'];
$password = $_POST['password'];

if (Auth::attempt(['email' => $email, 'password' => $password])) {
$http = new \GuzzleHttp\Client([
'base_uri' => 'http://myapp.test'
]);

$response = $http->post('oauth/token', [
'form_params' => [
'grant_type' => 'password',
'client_id' => '2',
'client_secret' => '_hashed-secret_',
'username' => $email,
'password' => $password,
'scope' => ''
]
]);

return json_decode((string) $response->getBody(), true);
}
}

я получил cURL error 6: Could not resolve host: myapp.test (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)Я перезагрузил свой сервер, и ничего. Я перестроил все контейнеры (в настоящее время использую laradock), и ничего.

Странно то, что он появляется только при первой попытке входа в систему. Итак, когда клиент пытается войти в систему, приходит error, но когда клиент отправляет данные формы (F5), он исчезает, и клиент перенаправляется на домашнюю страницу, которая указывает, что клиент вошел в систему.

Я также перенастроил мой .env и другие конфигурации, которые включают hostname (ранее localhost, изменился на myapp.test) но не могу починить error,

Любые виды помощи будут оценены. Заранее спасибо.

1

Решение

Хорошо, я уже понял это. Добавление некоторой конфигурации на docker-compose.yml файл.

### PHP-FPM Container #######################################
...
extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}"- "myapp.test:${DOCKER_HOST_IP}"networks:
- frontend
- backend
- webserver_network
...
### NGINX Server Container ##################################
networks:
#- frontend
#- backend
webserver_network:
ipv4_address: ${WEBSERVER_IP}
frontend:
backend:
...
### Networks Setup ############################################
webserver_network:
driver: "bridge"config:
- subnet: "${WEBSERVER_SUBNET}"gateway: "${WEBSERVER_GATEWAY}"

Затем восстановить php-fpm контейнер. И получил это работает. Благодарю.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]