【发布时间】:2020-02-26 16:09:00
【问题描述】:
我使用 Laravel Forge 配置了两台服务器。我正在服务器 A 上运行应用程序,我想访问服务器 B 上的数据库。
所以我这样配置我的数据库:
'pgsql' => [
'driver' => 'pgsql',
'host' => env('EXTERNAL_DB_HOST', '138.31.32.33'),
'database' => env('EXTERNAL_DB_DATABASE', 'forge'),
'username' => env('EXTERNAL_DB_USERNAME', 'forge'),
'password' => env('EXTERNAL_DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
],
我填写了服务器 B 的凭据。然后我尝试运行使用连接的 Tinker:
>>> $d = \App\Foobar::first();
Illuminate/Database/QueryException with message 'SQLSTATE[08006] [7] timeout expired (SQL: select * from "foobars" where "foobars"."deleted_at" is null limit 1)'
它给出了错误:
SQLSTATE[08006] [7] 超时过期
我可以通过服务器 A 访问服务器 B:ssh forge@138.31.32.33。我可以访问该服务器 B。
但我仍然超时。我错过了什么?如何访问“外部”数据库?
【问题讨论】:
-
你的项目运行良好吗?
标签: laravel laravel-forge