Груша Auth пакет - PullRequest
       5

Груша Auth пакет

2 голосов
/ 29 апреля 2011

Читая PHP 5 Ларри Уллмана, мне сказали установить пакет Pear Auth, а также Pear DB.

Согласно веб-сайту Pear, пакет БД устарел в пользу MDB2.Поэтому я установил этот последний (MDB2) пакет.

Я получаю это предупреждение при запуске своей программы.

Fatal error: Class 'DB' not found in /Users/michaelmitchell/pear/share/pear/Auth/Container/DB.php on line 150

Я не уверен, что сделал что-то не так (если да, что?) Или пакет Auth как-то ссылается на устаревший класс БД, или что-то еще?* Третья строка ниже if (!DB::isConnection($this->db) - это строка 150 из DB.php.Кто-нибудь может помочь?

 function _prepare()
    {
        if (!DB::isConnection($this->db)) {
            $res = $this->_connect($this->options['dsn']);
            if (DB::isError($res) || PEAR::isError($res)) {
                return $res;
            }
        }
        if ($this->options['auto_quote'] && $this->db->dsn['phptype'] != 'sqlite') {
            if (strpos('.', $this->options['table']) === false) {
                $this->options['final_table'] = $this->db->quoteIdentifier($this->options['table']);
            } else {
                $t = explode('.', $this->options['table']);
                for ($i = 0, $count = count($t); $i < $count; $i++)
                    $t[$i] = $this->db->quoteIdentifier($t[$i]);
                $this->options['final_table'] = implode('.', $t);
            }
            $this->options['final_usernamecol'] = $this->db->quoteIdentifier($this->options['usernamecol']);
            $this->options['final_passwordcol'] = $this->db->quoteIdentifier($this->options['passwordcol']);
        } else {
            $this->options['final_table'] = $this->options['table'];
            $this->options['final_usernamecol'] = $this->options['usernamecol'];
            $this->options['final_passwordcol'] = $this->options['passwordcol'];
        }
        return true;
    }

Ответы [ 2 ]

2 голосов
/ 29 апреля 2011

Do

pear install --force --alldeps Auth

для автоматической переустановки со всеми необходимыми зависимостями.

В вашем скрипте убедитесь, что PEAR находится в настроенном include_path и может быть найден любыми настроенными автозагрузчиками и / иливключите необходимые пакеты вручную.

0 голосов
/ 09 сентября 2013

Не заставляйте устанавливать БД, она устарела!Измените эту строку кода в:

if (!MDB2::isConnection($this->db)
...