我正在尝试在我们的网络服务器上安装phpBugTracker。当我尝试在安装屏幕上测试数据库连接时,出现一个错误屏幕,显示“DB Test Failure ... DB Error:extension not found”。从以下函数抛出错误:
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”作为类型时,我得到了“连接失败”错误。
答案 0 :(得分:3)
好吧,我觉得很傻,但是MySQL的路径在这个特定的服务器上是不同的,我刚刚假设了localhost。这与mysqli无关。固定路径,它连接得很好。
答案 1 :(得分:2)
使用phpinfo()验证是否安装并激活了您正在使用的db_type
扩展名。
也许你正在尝试使用“ mysqli ”db_type
,而你应该使用“ mysql ”
(没有'我')?
默认情况下,PHP i 不适用于PHP4。