无限星辰工作室-客户无限互联网动力之源
标题:
Discuz!x3.4 表自动修复检测解决方案
[打印本页]
作者:
crx349
时间:
2018-1-12 17:16
标题:
Discuz!x3.4 表自动修复检测解决方案
故障描述:Discuz!x3- x3.4在服务器突然断电或强制重启时,mysql可能会出现表错误导致discuz报错
解决方案:
1.打开source\class\discuz\discuz_table.php
搜索:
if(isset($this->_pre_cache_key) && (($ttl = getglobal('setting/memory/'.$this->_table)) !== null || ($ttl = $this->_cache_ttl) !== null) && memory('check')) {
$this->_cache_ttl = $ttl;
$this->_allowmem = true;
}
复制代码
在下面加入:
$this->autoxiufu();
复制代码
2.在文件底部加上
public function autoxiufu() {
$query1=DB::query('CHECK TABLE '.DB::table($this->_table));
$checkresult =mysql_fetch_array($query1, MYSQL_ASSOC);
if($checkresult['Msg_text'] != 'OK') {
DB::query('REPAIR TABLE '.DB::table($this->_table));
}
}
复制代码
3.替换同名文件,这个代码可以解决表错误时自动修复,但是会影响论坛效率,建议经常坏表的可以用哦
欢迎光临 无限星辰工作室-客户无限互联网动力之源 (https://xmspace.net/)
Powered by Discuz! X3.4