dvphp安装程序确实存在这个问题.
检查了一下 install.php的代码.
以下内容为程序代码:if (!empty($dberror)) {
if ($query = $db->query("SHOW TABLES")) {
while ($result = $db->fetch_row($query)) {
$db->query("DROP TABLE {$result[0]}", array('type' =>'SILENT'));
}
}
$db->close();
print '<tr><td width="100%" class="forumrow" height="25" colspan="2" style="text-indent:5px;">'.$lang['install.info51'].$dberror.'</td></tr>';
exit;
} else {
$db->close();
}
安装过程中你如果看到了 数据库相关的错误提示信息,那么恭喜你,你所选择的数据库被清空了.
对于把dvphp安装在独立的数据库中的用户来说清空没啥关系.
但是对于多个系统共享的数据库来说,那是一个灾难.
修正方式:
简单的是直接删掉上面 删除数据表的代码.
或替换为下面的代码
以下内容为程序代码:if (!empty($dberror)) {
if ($query = $db->query("SHOW TABLES")) {
$i = strlen($dv);
while ($result = $db->fetch_row($query)) {
if(substr($result[0],0,$i) == $dv)
$db->query("DROP TABLE {$result[0]}", array('type' =>'SILENT'));
}
}
$db->close();
print '<tr><td width="100%" class="forumrow" height="25" colspan="2" style="text-indent:5px;">'.$lang['install.info51'].$dberror.'</td></tr>';
exit;
} else {
$db->close();
}