Вот что я проверил на данный момент:
- Соединение mysql_oth правильно настроено в файле
config/database.php проекта 2. - Прямые вызовы к конечной точке API проекта 2 from
Postman правильно использует соединение mysql_oth. - Проблема возникает только тогда, когда Project One выполняет вызов API к Project Two; каким-то образом это приводит к тому, что Второй проект возвращается к соединению mysql по умолчанию (Первый проект). Я
- Я очистил конфигурацию, маршрут и кеш Laravel с помощью
команд artisan в обоих проектах.
Код: Выделить всё
$request->authenticate();
$request->session()->regenerate();
$response = Http::post('http://localhost:82/laravel/project_2/api/appLogin', [
'email' => $request->email,
'password' => $request->password,
])->throw();
if ($response->successful()) {
$token = $response->json('token');
$request->session()->put('apptoken', $token); // Save token in session
return redirect()->intended(RouteServiceProvider::HOME);
} else {
Auth::guard('web')->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect(url('login'))->withErrors(['email' => 'The provided credentials are incorrect -- .']);
}
Код: Выделить всё
public function login(Request $request)
{
$credentials = $request->validate([
'email' => 'required|email',
'password' => 'required',
]);
Log::info('API call sent', [
'method' => request()->method(),
'url' => request()->url(),
'data' => request()->all(),
]);
if (Auth::attempt($credentials)) {
// Authentication successful
$token = auth()->user()->createToken('authToken')->plainTextToken;
return response()->json(['token' => $token], 200);
} else {
// Authentication failed
return response()->json(['message' => 'Invalid credentials'], 401);
}
}
Первый проект
Код: Выделить всё
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=project_one,
Код: Выделить всё
DB_CONNECTION=mysql_oth
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=project_two
- Почему Проект второй переключается на соединение с базой данных по умолчанию (Первый проект) при вызове из Проекта один и как я могу это предотвратить?
- Существует ли специфичная для Laravel конфигурация или аспект времени выполнения, который я мог бы упустить из виду и который мог бы вызвать такое поведение?
/>
Подробнее здесь: https://stackoverflow.com/questions/781 ... el-project
Мобильная версия