PEAR :: Ошибка БД, расширение не найдено - PullRequest
3 голосов
/ 21 марта 2009

Я пытаюсь установить phpBugTracker на наш веб-сервер. Когда я пытаюсь проверить соединение с базой данных на экране установки, я получаю сообщение об ошибке, которое гласит: «Ошибка теста БД ... Ошибка БД: расширение не найдено». Ошибка выдается из следующей функции:

function test_database(&$params, $testonly = false) {
    // PEAR::DB
    define('PEAR_PATH', ''); // Set this to '/some/path/' to not use system-wide PEAR
    // define('PEAR_PATH', 'inc/pear/'); // use a locally installed Pear (phpBT v0.9.1)
    if (!@include_once(PEAR_PATH.'DB.php')) {
        $error_message = translate("Failed loading Pear:DB");
        $error_info = translate("Please check your Pear installation and the defined PEAR_PATH in install.php");
        $error_info .= " <a href='http://pear.php.net/'>http://pear.php.net/</a>";
        include('templates/default/install-dbfailure.html');
        exit;
    }
    // execution gets this far without a problem...
    $dsn = array(
        'phptype' => $params['db_type'],
        'hostspec' => $params['db_host'],
        'database'  => $params['db_database'],
        'username'  => $params['db_user'],
        'password'  => $params['db_pass']
        );
    $db = DB::Connect($dsn);

    // Simple error checking on returned DB object to check connection to db
    if (DB::isError($db)) {
       // $db go boom...
        $error_message = isset($db->message) ? $db->message : '';
        $error_info = isset($db->user_info) ? $db->user_info : '';
        include('templates/default/install-dbfailure.html');
        exit;
    } else {
        if ($testonly) {
            include('templates/default/install-dbsuccess.html');
            exit;
        } else {
            return $db;
        }
    }
}

Я использую MySQL версии 5.0.45, PHP версии 4.47 и у меня стабильная версия PEAR :: DB версии 1.7.6. Я уже подтвердил, что могу подключиться к базе данных, которую я использую, с помощью имени входа, которое я создал в противном случае. Я в зависимости от того, какие модули установлены, зависит от моей хостинговой компании.

Есть идеи, что может быть причиной ошибки?

Редактировать: db_type установлено в «mysqli». Когда я использую «mysql» в качестве типа, вместо этого я получаю ошибку «Ошибка подключения».

Ответы [ 2 ]

3 голосов
/ 19 августа 2009

Хорошо, я чувствую себя довольно глупо, но путь к MySQL был другим на этом конкретном сервере, и я только что предположил localhost. Это не имеет ничего общего с MySQL против MySQL. Фиксированный путь и он подключен просто отлично.

2 голосов
/ 21 марта 2009

Проверьте с помощью phpinfo (), что расширение для db_type, которое вы используете, установлено и активировано. Возможно, вы пытаетесь использовать " mysqli " db_type, тогда как вам следует использовать " mysql " (без 'i') ?

MySQL i не поставляется по умолчанию с PHP4.

...