2009-03-20 31 views
3

WebサーバーにphpBugTrackerをインストールしようとしています。インストール画面でデータベース接続をテストしようとすると、「DB Test Failure ... DB Error:extension not found」というエラー画面が表示されます。PEAR :: DBエラー、拡張機能が見つかりません

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 ([email protected]_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」を使用すると、代わりに「接続に失敗しました」というエラーが表示されます。

答えて

1

さて、私はむしろ愚かですが、この特定のサーバーではMySQLへのパスが異なり、私はlocalhostと仮定しました。これはmysqlとmysqliを何もしませんでした。固定パスとそれはちょうど良い接続。

2

db_typeの拡張機能がインストールされ、有効になっていることをphpinfo()で確認してください。 はおそらく、あなたは、あなたは "mysqlの" (なしの 'I')を使用する必要がありながら、 "mysqliの" db_typeにしようとしているの?

MySQL は、デフォルトではPHP4には含まれていません。

+0

"mysqli"の代わりに "mysql"を使用すると、 "connect failed"エラーが表示されます。 –

+0

ああ - 私はそれを知らなかった。私のサーバーはいずれのバージョンも使えると思いますが、バージョン5.xで試してみる必要があります –

関連する問題