【发布时间】:2012-11-05 01:38:20
【问题描述】:
我试着解释我遇到的问题!!!
我使用 PDO 扩展通过 pgpool-II 连接到 PostgreSQL。它在 Apache 中运行良好,但从 PHP CLI(在同一台机器上)我收到此 PDO 错误:
SQLSTATE[HY000]:一般错误:7 没有连接到服务器
我已经在 Google 和这里搜索过,但似乎没有人尝试过这样做。有人知道吗?
编辑:
这是我用来建立连接的代码:
include 'manage_db.php';
include_once 'properties.php';
global $properties;
$dsn = 'pgsql:dbname=' . $properties['db_pgpool'] . ';host=localhost;port=' . $properties['port_pgpool'];
try{
$mgmtDb = new ManageDb($dsn, $properties['username_pgpool'], $properties['password_pgpool']);
} catch (Exception $e) {
echo 'PDO - Caught exception: ', $e->getMessage(), "\n";
}
ManageDB 是我自己的类,它实现了一些实用功能以及创建数据库连接:
class ManageDb {
var $db;
function ManageDb($dsn, $username, $password){
$this->db = new PDO($dsn, $username, $password);
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
....
【问题讨论】:
-
嗯,这是说您没有与服务器的连接。您如何连接以及如何检查它是否有效将是分享的好信息。
-
使用pgpoll时,需要在conf文件中设置连接。您是否尝试过使用 pgadmin3 访问您的 postgresql 服务器?如果成功,那么我认为问题出在您的 conf 设置中。
-
你解决了吗?
标签: postgresql pdo pgpool