已解决 禅道崩溃了,求解

访问主页提示如下内容


Fatal error query('check table cop...') #1 {main} thrown in  D:\WWW\pms\www\checktable.php  on line  88

禅道版本 10.6 源码包
操作系统 Windows 7
客户端浏览器 Chrome

提问者: 测试之星 悬赏: 5 日期: 2018-12-12 15:42:36 答案:1 点击 211
备注

两个截图,谢谢石工

设置备注
答案列表
2018/12/12

麻烦提供一下如下信息:

1、禅道的版本号是多少?

2、checktable.php 这个文件的 80-100行麻烦截图出来看一下。

3、禅道所在的数据库物理文件夹的目录下所有的文件截图看一下。

2018/12/12
1、版本9.5
2、
if($status == 'createFile')
{
$lang->user = new stdclass();
$lang->projectCommon = '';
i n c l u d e "../module/user/lang/{$clientLang}.php";
}
else
{
$dsn = "mysql:host={$config->db->host}; port={$config->db->port}; dbname={$config->db->name}";
$dbh = new PDO($dsn, $config->db->user, $config->db->password, array(PDO::ATTR_PERSISTENT => $config->db->persistant));
$dbh->e x e c("SET NAMES {$config->db->encoding}");

$dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$tables = array();
$stmt = $dbh->query("show full tables");
while($table = $stmt->fetch(PDO::FETCH_ASSOC))
{
$tableName = $table["Tables_in_{$config->db->name}"];
$tableType = strtolower($table['Table_type']);
if($tableType == 'base table')
{
$tableStatus = $dbh->query("$type table $tableName")->fetch(); //88行
$tables[$tableName] = strtolower($tableStatus->Msg_text);
}
}
$status = 'check';
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
<meta name="renderer" content="webkit">
<link rel='stylesheet' href='<?php echo $themeRoot . 'zui/css/min.css'?>' type='text/css' media='screen' />
</head>

2018/12/13
石工:问题已经解决了,发现有两个表异常,不过使用如下命令执行后恢复正常了repair table tablename ,非常感谢石工的及时支持,服务点个赞