gpt4 book ai didi

php - Heroku PHP pgconnect - 用户密码验证失败

转载 作者:行者123 更新时间:2023-11-29 13:56:37 28 4
gpt4 key购买 nike

我正在尝试从 Heroku 上的 PHP 连接到 PostgreSQL。为了简化,我尝试了:

function pg_connection_string_from_database_url() {
extract(parse_url(getenv("DATABASE_URL")));
return "user=$user password=$pass host=$host sslmode=require dbname=" . substr($path, 1);
}
$pg_conn = pg_connect(pg_connection_string_from_database_url());

我一直收到这个错误:

FATAL: password authentication failed for user

我试过:

  • 使用 Navicat 使用相同的凭据连接:有效
  • 使用 PHP 连接到本地 pgsql 数据库:有效
  • 从 CLI 使用相同的凭据连接:有效

这让我觉得 PHP 应该对密码做些什么。我在网上找到了一些关于 MD5 的东西,但找不到任何具体的东西。

知道如何解决这个问题吗?

最佳答案

在这里工作正常:

~ dzuelke$ heroku run bash
Running `bash` attached to terminal... up, run.4366
~ $ php -r '
> function pg_connection_string_from_database_url() {
> extract(parse_url(getenv("DATABASE_URL")));
> return "user=$user password=$pass host=$host sslmode=require dbname=" . substr($path, 1);
> }
> $pg_conn = pg_connect(pg_connection_string_from_database_url());
> var_dump($pg_conn);'
resource(4) of type (pgsql link)

仔细检查您的 DATABASE_URL 是否正确,这是您要使用的实际连接(相对于另一个环境变量),什么值 getenv("DATABASE_URL") 返回等。

此外,您没有指定端口;所以它将使用默认的 5432,这可能是不正确的。

关于php - Heroku PHP pgconnect - 用户密码验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30551455/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com