gpt4 book ai didi

postgresql - "FATAL: no pg_hba.conf entry for host"但我可以通过 pgAdmin 连接

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

我在基于 CakePHP 的项目的开发环境中遇到了一些问题。问题是,CakePHP 可以在生产环境中连接,但是如果我在我的 PC 上运行 XAMPP,就会抛出一个 fatal error :没有主机“myexternalip”、用户“dbuser”、数据库“dbname”、SSL 关闭的 pg_hba.conf 条目

但使用相同的参数,我可以通过 pgAdmin 从我的 PC 进行连接。

我尝试了一些我发现的谷歌搜索技巧,比如将 libpq.dllc:\xampp\php 复制到 c:\xampp\apache\bin 但是,运气不好,已经检查过 pnp.iniextension=php_pdo_pgsql.dll 行未注释,曾多次尝试重启 apache 但没有变化

项目托管在heroku平台下,我的/app/config/database.php是这样的

public $production = array(
'datasource' => 'Database/Postgres',
'persistent' => false,
'host' => 'anywhere.at.amazonaws.com',
'login' => 'dbuser',
'password' => 'dbpwd',
'database' => 'dbname',
'encoding' => 'utf8',
);

这是堆栈跟踪

- CORE\Cake\Model\Datasource\DboSource.php line 260 → Postgres->connect()
- CORE\Cake\Model\ConnectionManager.php line 105 → DboSource->__construct(array)
- CORE\Cake\Model\Model.php line 3613 → ConnectionManager::getDataSource(string)
- CORE\Cake\Model\Model.php line 1155 → Model->setDataSource(string)
- CORE\Cake\Model\Model.php line 3640 → Model->setSource(string)
- CORE\Cake\Model\Model.php line 827 → Model->getDataSource()

任何人都可以给我另一个可能有帮助的提示吗?

最佳答案

一段时间后我找到了解决方案。

问题是这并不简单。

由于 Postgres 服务器托管在 heroku 平台下,服务器上的默认配置是 require ssl,所以我遇到了这个配置:

public $production = array(
......
'sslmode' => 'require',
);

现在错误已更改为 sslmode value "require"invalid when ssl support is not compiled

然后我用谷歌搜索了一下,似乎至少在 XAMPP v5.5.19 下,PHP 文件夹中的 libpq.dll 没有使用 ssl 支持编译

这是帮助我解决这个问题的问题: How to installPostgreSQL client library for PHP on Windows with SSL enabled

似乎 pgAdmin 的 libpq.dll 是用 ssl 支持编译的,所以这就是我可以通过 pgAdmin 而不是 php 连接的原因

谢谢大家的帮助!

关于postgresql - "FATAL: no pg_hba.conf entry for host"但我可以通过 pgAdmin 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29738989/

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