【发布时间】:2015-04-21 01:11:52
【问题描述】:
我在基于 CakePHP 的项目的开发环境中遇到了一点问题。
问题是,CakePHP 可以在生产环境中连接,但是如果我在我的 PC 上通过 XAMPP 运行,那么会给我一个
FATAL: no pg_hba.conf entry for host "myexternalip", user "dbuser", database "dbname", SSL off
但使用相同的参数,我可以通过 pgAdmin 从我的 PC 连接。
我尝试了一些我发现的谷歌搜索技巧,例如将 libpq.dll 从 c:\xampp\php 复制到 c:\xampp\apache\bin 但是,没有运气,检查了 pnp.ini 和 extension=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.conf 中的“记录内容”部分,以查看您使用 Pgadmin 连接的 IP...
-
猜测,
pg_hba.conf有一个127.0.0.1的条目,PgAdmin 正在连接到环回地址,但 XAMPP 正在连接到外部主机地址。或者至少,这就是源地址选择的结果。也可能是 IPv4 与 IPv6 的问题。 如果您需要有关 pg_hba.conf 的帮助,请显示 pg_hba.conf 的内容。 -
我无法访问 ph_hba.conf,因为 postgres 服务器托管在 heroku 平台中
标签: postgresql cakephp heroku xampp