我已经在 2 天前问过这个问题,这里是链接 Got "password authentication failed for user" but in pgAdmin 3 its working
但我仍然没有得到解决问题的答案。
于是尝试新建一个laravel项目,然后编辑.env
文件,检查php artisan migrate
是否可以运行。
在我运行 php artisan migrate
之后,它正在运行,所以这意味着我对 PostgreSQL 数据库的凭据是正确的,对吧?如果不是,它会告诉你用户“postgres”的密码验证失败,但我根本没有收到任何错误,所以我继续下一步。现在,在我确定一切正常后,我运行 php artisan make:auth
,它成功了,没有任何错误,所以我转到网络浏览器,然后运行网站,我点击了 register
/login
按钮,填写字段,然后提交,噩梦又发生了
我从网站上得到这条信息
SQLSTATE[08006] [7] FATAL: password authentication failed for user "postgres" FATAL: password authentication failed for user "postgres" (SQL: select count(*) as aggregate from "users" where "email" = test@test.com)
尽管 php artisan migrate
运行得非常好,但我不知道为什么会这样。以前有人遇到过这个问题吗?或者为什么会这样?
我已经搜索了所有可能解决这个问题的关键字,但我找不到答案,这真的让我感到压力很大。
对于我正在使用的信息:
PostgreSQL 9.6.8
Laravel 5.6
Ubuntu 17.10
已编辑:这是我的 pg_hba.conf
最佳答案
检查 config 目录中的 database.php 文件,并检查 pgsql 数组。如果从 .env 访问数据库凭据值在那里不起作用,请通过直接将凭据放在那里进行测试。希望它会有所帮助。 Artisan 命令通过直接从 .env 文件而不是从 database.php 访问凭据来工作,这就是迁移有效的原因。
关于php - 全新安装的 laravel 项目无法访问 postgresql 数据库,但可以执行 php migrate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49359243/