2009-03-20 7 views
3

Ich versuche phpBugTracker auf unserem Webserver zu installieren. Wenn ich versuche, die Datenbankverbindung auf dem Installationsbildschirm zu testen, erhalte ich einen Fehlerbildschirm mit der Meldung "DB-Testfehler ... DB-Fehler: Erweiterung nicht gefunden". Der Fehler wird von der folgenden Funktion geworfen:PEAR :: DB Fehler, Erweiterung nicht gefunden

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; 
     } 
    } 
} 

Ich verwende MySQL Version 5.0.45, PHP Version 4.47, und ich habe PEAR :: DB Version 1.7.6 stabil. Ich habe bereits verifiziert, dass ich mich mit der Datenbank, die ich verwende, mit dem von mir erstellten Login verbinden kann. Ich bin meiner Hosting-Firma ausgeliefert, welche Module installiert sind.

Irgendwelche Ideen, was den Fehler verursachen könnte?

Edit:db_type auf "mysqli" gesetzt ist. Wenn ich "mysql" als Typ verwende, bekomme ich stattdessen einen Fehler "Verbindung fehlgeschlagen".

Antwort

1

Okay, ich fühle mich ziemlich albern, aber der Pfad zu MySQL war auf diesem speziellen Server anders und ich hatte gerade localhost angenommen. Dies hatte nichts mit mysql vs. mysqli zu tun. Fester Pfad und es hat gut funktioniert.

2

Überprüfen Sie mit phpinfo(), dass die Erweiterung für db_type, die Sie verwenden, installiert und aktiviert ist. Vielleicht bist du mit "Mysqli" versucht db_type, während Sie "mysql" verwenden sollten (ohne 'i')?

MySQL ich kommt nicht standardmäßig mit PHP4.

+0

Wenn ich versuche, "mysql" anstelle von "mysqli" zu verwenden, bekomme ich stattdessen einen "connect failed" Fehler. –

+0

Ahhhh - das wusste ich nicht. Ich denke, dass mein Server beide Versionen verwenden kann, muss ich unter Version 5.x versuchen –