运行 laravel 迁移时出现密码验证失败错误

问题描述 投票:0回答:2

我正在尝试在 DigitalOcean Droplet 上部署我的 Laravel 应用程序。 Droplet 使用 nginx、php7 和 postgres 设置,我按照 DigitalOcean 的教程了解如何设置它们。然后我尝试按照本教程了解如何使用 git hook 等部署 Laravel 应用程序。

现在应用程序本身已启动并运行,我可以访问页面和所有内容。但我跑不了

php artisan migrate
。我一直在更改
.env
文件上的数据库用户名、名称、密码,但我总是收到 exact 相同的错误:

[Illuminate\Database\QueryException]
SQLSTATE[08006] [7] FATAL:  password authentication failed for user "deploy"
FATAL:  password authentication failed for user "deploy" (SQL: select * from information_schema.tables where table_schema = apollo and table_name = migrations)


[Doctrine\DBAL\Driver\PDOException]
SQLSTATE[08006] [7] FATAL:  password authentication failed for user "deploy"
FATAL:  password authentication failed for user "deploy"


[PDOException]
SQLSTATE[08006] [7] FATAL:  password authentication failed for user "deploy"
FATAL:  password authentication failed for user "deploy"

这是我最新的

.env
数据库配置:

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_USERNAME=postgres
DB_DATABASE=postgres
DB_PASSWORD=[my password]
DB_SCHEMA=public

如您所见,荒谬的是,即使将

DB_USERNAME
设置为
postgres
,错误仍然会显示
for user "deploy"

我一直在谷歌上搜索,最接近的事情,或者我是这么认为的,是更新

/etc/postgresql/9.5/main/postgresql.conf
上的一些配置,也就是制作
listen_addresses = '*'
。我更新了它,重新启动了 postgres 服务,但仍然得到完全相同的错误。

任何人都可以帮我指出我错过了什么吗?

谢谢。

postgresql laravel laravel-5.3 psql artisan-migrate
2个回答
8
投票

这是由于缓存而发生的。

当你运行时,

php artisan config:cache
,它会缓存配置文件。每当事情发生变化时,您都需要继续运行它来更新缓存文件。但是,如果您从未运行该命令,它不会缓存。

这对于生产来说是可以的,因为配置不会经常更改。但在登台或开发期间,您可以通过清除缓存来禁用缓存,并且不要运行缓存命令

所以,只需运行

php artisan config:clear
,不要运行之前的命令以避免缓存


0
投票

就像@geckob所说的那样,这是由于缓存造成的

当我遇到这个问题时,我已经将我的 laravel 项目上传到 cpanel,所以不用运行:

php artisan optimize:clear
php artisan optimize

然后您现在将重新上传,只需导航到 bootstrap 文件夹,然后缓存文件夹,然后您将看到配置文件,只需删除配置文件或重命名它即可解决

© www.soinside.com 2019 - 2024. All rights reserved.