【问题标题】:Bd Postgres connection to Laravel?Bd Postgres 与 Laravel 的连接?
【发布时间】:2019-06-27 05:58:52
【问题描述】:
几天前我遇到了一个无法解决的问题,我尝试连接服务器上的 Postgres bd,我使用 laravel,但是当我连接到我的 Postgres bd 时,它突出显示了一个错误,这个出现错误
Connector.php 第 55 行中的 PDOException:
SQLSTATE [08006] [7] 无法连接到服务器:连接被拒绝 (0x0000274D/10061)
服务器是否在主机“localhost”(::1) 上运行并接受
端口 5432 上的 TCP/IP 连接?
无法连接到服务器:连接被拒绝 (0x0000274D/10061)
服务器是否在主机“localhost”(127.0.0.1)上运行并接受
端口 5432 上的 TCP/IP 连接?
错误图片:
我想知道是否发生过同样的情况以及如何解决,谢谢!
【问题讨论】:
标签:
php
database
laravel
postgresql
【解决方案1】:
没有你的环境文件很难说。这个错误可能是因为你已经连接到 postgres,
要检查,请确保此行在您的 .env 文件中:
DB_PORT=5432
或者,您可以从 .env 中删除该行,让 Laravel 根据连接选择默认:
'port' => env('DB_PORT', '5432'),
由于身份验证导致连接失败的另一个原因是 env 文件正在寻找 127.0.0.1。有时将其更改为 localhost 会有所帮助。
【解决方案2】:
更改您的 .env 设置,如下所示:
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1 //If you want to use only in localhost or otherwise change according to host server
DB_PORT=5432
DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password
修改.env后请在终端输入此命令清除缓存:php artisan config:cache
【解决方案3】:
将 DB_HOST 更改为 postgres,帮助我解决了我的问题。
DB_CONNECTION=pgsql
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=your-database-name
DB_USERNAME=user-name
DB_PASSWORD=your-password