织梦dedecms数据量大生成栏目缓慢以及出现500错误一个可能原因及解决方法
发布日期:2018/1/15 17:05:30
后台数据量小的时候,栏目及文档生成很快,但是当织梦cms系统数据量曾大以后,生成目录就会越来越慢,直至发生500内部服务器错误。
产生错误的原因是数据库数据量太大,生成时间太长导致超时错误。解决的办法是分批次生成。记得早期的织梦后台是分批次更新的,但不知为什么新版本没了这个功能。
通过查看代码发现分批次生成的代码被注释掉了,至于注释掉的原因不得而知。
 
一、在后台管理文件夹下找到makehtml_list_action.php 文件
在makehtml_list_action.php 的文件行 101 处
  //$lv->CountRecord();
  有这样一处注释掉的代码,似乎DEDECMS的开发工程师因为其他原因注释掉了这行代码,这就导致了计算某个栏目类有多少分页的代码不能运行,从而导致后面一行
 
  if($lv->TypeLink->TypeInfos[‘ispart’]==0 && $lv->TypeLink->TypeInfos[‘isdefault’]!=-1) $ntotalpage = $lv->TotalPage;
else $ntotalpage = 1;
 
  导致这里面的 $ntotalpage 根本得不到值 (NULL),
  因为 $lv->TotalPage 是在$lv->CountRecord 函数里面赋值
  所以分批次生成的功能不能运行。
 
  从而想到,取消此处注释,让栏目生成HTML 分批进行
 
//如果栏目的文档太多,分多批次更新
    if($ntotalpage <= $maxpagesize || $lv->TypeLink->TypeInfos['ispart']!=0 || $lv->TypeLink->TypeInfos['isdefault']==-1)
    {
        $reurl = $lv->MakeHtml('', '', $isremote);
        $finishType = TRUE;
    }
    else
    {
// 让代码进入此执行才是分批生成html
        $reurl = $lv->MakeHtml($mkpage, $maxpagesize, $isremote);
        $finishType = FALSE;
        $mkpage = $mkpage + $maxpagesize;
        if( $mkpage >= ($ntotalpage+1) ) $finishType = TRUE;
    }
pk10北京赛车技巧 北京赛车pk10投注官网 官网 稳赚北京赛车pk10平台 北京pk拾冠军位研究
北京赛车龙虎稳赢规律 北京pk10开奖直播吧规 北京小赛车pk10直播 pk10计划软件那个好用 高频彩票哪个好
pk10机器人软件 pk10 012路杀一路技巧 北京赛车pk10预算 北京赛车 pk10开奖记录 北京赛车的图片大全
北京赛车pk10微信代理 北京赛车pk10直播 北京pk10自动下注软件 财神爷北京pk10计划软件 pk1023
吉林快三预测软件免费 非凡诈金花在哪下载,网络诈金花报警,真人诈金花微信,诈金花的秘诀 pk10北京赛车颜色记录 重庆时时彩软件终身 十一选五开奖
中原风采22选5开奖 河南11选5开奖时间 福彩华东15选5开奖 特区彩票网计划☆七星彩特区彩票论坛计划☆爱乐透彩票计划☆1.76彩票复古传奇计划☆彩票缴款通 辽宁11选5号码推存
北京赛车单双公式 英超足球宝贝 11选5玩法介绍 福建快三预测推荐 香港六合彩开奖结果历史记录
江苏11选5交流群 福建31选7走势图开奖结果 海南七星彩投注站计划●七星彩051计划●七星彩三点红1494期 开心网德州扑克,德州扑克总督,开心网德州扑克,德州扑克玩法 香港曾道人