Request::create()
- это метод, унаследованный от класса HTTP-запросов Symfony.При вызове, если вы не передадите какие-либо подробности $_SERVER
, будет использовать разумные значения по умолчанию .
Класс UrlGenerator
Laravel использует текущий запрос для определения полностью определенного доменаимя при вызове функций, таких как route()
.Поскольку вы не указали в запросе, что представляет собой текущий домен, он возвращается к localhost
.
Если вы находитесь в среде, где $_SERVER
заполнена правильной информацией, вы можете передать ееправильный параметр:
Request::create(
'/api/auth/login',
'POST',
[
'user' => $request->user,
'password' => $request->password,
],
[], // cookies
[], // files
$_SERVER
);
Другие потенциальные решения, которые могут хорошо подойти:
- Используйте
Request::createFromGlobals()
для заполнения запроса суперглобалами PHP, такими как $_POST
, $_SERVER
и т. д., затем измените части, которые вы хотите изменить. - Если переменная
$request
уже содержит экземпляр запроса Laravel, вы можете вызвать $request->duplicate()
.И снова измените по мере необходимости.