找回密码
 立即注册

QQ登录

只需一步,快速开始

Discuz!x3.4 表自动修复检测解决方案

故障描述:Discuz!x3- x3.4在服务器突然断电或强制重启时,mysql可能会出现表错误导致discuz报错

解决方案:

1.打开source\class\discuz\discuz_table.php
搜索:
  1. if(isset($this->_pre_cache_key) && (($ttl = getglobal('setting/memory/'.$this->_table)) !== null || ($ttl = $this->_cache_ttl) !== null) && memory('check')) {
  2.                         $this->_cache_ttl = $ttl;
  3.                         $this->_allowmem = true;
  4.                 }
复制代码

在下面加入:
  1. $this->autoxiufu();
复制代码


2.在文件底部加上
  1. public function autoxiufu() {
  2.       $query1=DB::query('CHECK TABLE '.DB::table($this->_table));
  3.           $checkresult =mysql_fetch_array($query1, MYSQL_ASSOC);                        
  4.           if($checkresult['Msg_text'] != 'OK') {
  5.           DB::query('REPAIR TABLE '.DB::table($this->_table));
  6.                  }
  7.                
  8.         }
复制代码

3.替换同名文件,这个代码可以解决表错误时自动修复,但是会影响论坛效率,建议经常坏表的可以用哦

本教程由无限星辰工作室CRX349独家整理和提供,转载请注明地址,谢谢。本文地址:https://www.xmspace.net/thread-577-1-1.html
无限星辰工作室  好集导航 Discuz全集下载  星辰站长网  集热爱361  一品文学  手机小游戏合集   海外空间网 星辰api  星辰支付二维码管理平台 阿里云服务器 腾讯云服务器
服务Discuz!建站|DiscuzQ配置|二开|小程序|APP|搬家|挂马清理|防护|Win/Linux环境搭建|优化|运维|
服务理念:专业 诚信 友好QQ842062626 服务项目 Q群315524225

发表于 2018-1-12 17:16:38 | 显示全部楼层 |阅读模式

回复 | 使用道具 举报

该帖共收到 0 条回复!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

美图秀

    • fastadmin 后台界面使用字段数组类型
    • Discuz!x3.5 修改标题高亮颜色
    • Discuz!x3.5 应用中心 下载应用一直下载中
    • 帖子定时显示
    • 论坛辅助审核
拖动客服框
Online Service
点击这里给我发消息
点击这里联系我们
微信扫一扫
在线客服
快速回复 返回顶部 返回列表