小编Apo*_*Pal的帖子

当从另一个 Laravel 应用程序发送 Http 请求时,Laravel 使用不正确的数据库

我似乎遇到了一个奇怪的问题。我正在使用 Http 外观从一个 laravel 应用程序触发到另一个 laravel 应用程序的发布请求。这两个应用程序都链接到单独的数据库。当我尝试使用邮递员触发相同的端点时,它工作正常,但是当从其他 laravel 应用程序触发请求时,收件人 laravel 应用程序尝试使用发件人应用程序的数据库设置,但该设置不起作用。我目前在 Windows 上使用 Xampp 来托管这两个应用程序,并且软件包是最新版本。有没有人遇到过类似的问题或者您能提出解决方案吗?

代码如下: 发送POST请求的服务(Sender App(1)):

Http::post("http://localhost/second_app/public/api/test", array(
                    'id' => 1,
);
Run Code Online (Sandbox Code Playgroud)

接收请求的代码(接收器应用程序(2)):

public function test(Request $request)
{
    $club = Club::find($request->id);
}
Run Code Online (Sandbox Code Playgroud)

我在日志文件中收到一个错误,表明它正在尝试clubs在first_app数据库中查找表,而它应该使用second_app数据库。我尝试记录配置和请求。该请求非常大,无法在此处发布,但我验证已正确接收。该日志的代码是:

Log::info("Received Request", ['database' => ['driver' => config('database.default'), 'name' => config('database.connections.'.config('database.default').'.database')]]);
Run Code Online (Sandbox Code Playgroud)

如果请求是从 Postman 发送到 secondary_app 或从 secondary_app 发送到自身(使用 Http 门面)

[2021-08-17 03:13:56] local.INFO: Received Request {"database":{"driver":"mysql","name":"second_app"}} 
Run Code Online (Sandbox Code Playgroud)

如果请求是使用 Http 外观从first_app发送second_app到

[2021-08-17 03:14:01] local.INFO: Received Request {"database":{"driver":"mysql","name":"first_app"}} 
[2021-08-17 …
Run Code Online (Sandbox Code Playgroud)

php xampp laravel guzzle

8
推荐指数
1
解决办法
1103
查看次数

标签 统计

guzzle ×1

laravel ×1

php ×1

xampp ×1