Próbuję wyjaśnić problem, który mam !!!PHP PDO PGPOOL PGSQL - SQLSTATE [HY000]: Ogólny błąd: 7 brak połączenia z serwerem
Używam rozszerzenia PDO do łączenia się z PostgreSQL poprzez pgpool-II. To działa dobrze w ciągu Apache, ale z PHP CLI (na tej samej maszynie) otrzymuję ten błąd PDO:
SQLSTATE [HY000]: Błąd ogólny: 7 brak połączenia z serwerem
już poszukiwany w Google i tutaj, ale wygląda na to, że nikt nigdy nie próbował tego zrobić. Czy ktokolwiek ma jakiś pomysł?
EDIT:
Jest to kod używam do ustanowienia połączenia:
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 jest moje własne klasy, która realizuje kilka funkcji użytkowych, jak również utworzyć połączenie z bazą danych:
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);
}
....
dobrze, to mówią, że nie ma połączenia z serwerem. W jaki sposób łączysz się i jak sprawdzasz, czy działało byłoby dobre informacje do udostępnienia. –
Podczas korzystania z pgpoll, musisz ustawić połączenie w pliku conf. Czy próbowałeś uzyskać dostęp do serwera PostgreSQL za pomocą pgadmin3? jeśli to jest sukces, to myślę, że problem leży w ustawieniu conf. – Ahmad