1
我试图在Heroku上从PHP连接到PostgreSQL。为了简化我想:Heroku PHP pgconnect - 用户密码验证失败
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数据库:工程
- 使用C LI:作品
这让我觉得PHP应该对密码做些什么。我在网上发现了一些关于MD5的东西,但找不到任何具体的东西。
任何想法如何解决这个问题?
我忘了提到我正在从另一个Heroku应用程序(制作)连接(Heroku爱好开发)到postgres数据库。上面的代码在连接到本地数据库时确实有效。 – JeroenJ
那么你的'DATABASE_URL'可能是错的,或者你需要从具有正确凭证的不同env var中读取? – dzuelke
dzuelke,如果你在本地运行该代码,你是否可以尝试连接到该数据库? (用正确的DATABASE_URL var关闭课程) – JeroenJ