коннект к postgres через юникс сокеты с помощью Pear::DB

Frutik

1024-й
коннект к postgres через юникс сокеты с помощью Pear::DB

для пакета db возможно описание dsn двумя способами: строкой и массивом

в другом пакете - auth (соторый в свою очередь юзает DB) - dsn принимается в параметрах конструктора жестко (???) в строковой форме

все бы хорошо если бы не одно но

мне не удалось (возможно кривые руки)
приконектиться к постгресу через юникс сокеты использую строковый вид dsn (с масивом получается - но он отпадает по условиям выдвигаемым пакетом auth)

тупик или я туплю? где найти свет в конце тунеля? кромсать auth чтобы он жрал и алетернативный вид описания dsn?
 

Макс

Старожил PHPClub
код из class Auth_Container_DB :
PHP:
    function _connect($dsn)
    {
        if (is_string($dsn) || is_array($dsn)) {
            $this->db = DB::Connect($dsn);
        } elseif (get_parent_class($dsn) == "db_common") {
            $this->db = $dsn;
        } elseif (is_object($dsn) && DB::isError($dsn)) {
            return PEAR::raiseError($dsn->code, PEAR_ERROR_DIE);
        } else {
            return PEAR::raiseError("The given dsn was not valid in file " . __FILE__ . " at line " . __LINE__,
                                    41,
                                    PEAR_ERROR_RETURN,
                                    null,
                                    null
                                    );

        }

        if (DB::isError($this->db)) {
            return PEAR::raiseError($this->db->code, PEAR_ERROR_DIE);
        } else {
            return true;
        }
    }
то есть судя по коду ты можешь сделать экземпляр класса DB и передать его в качестве параметр в Auth
 
Сверху