广东快乐10分开奖直播登录

福州印秀网络地图

福州印秀网络技术服务有限公司

公司地址:福州市台江区五一南路303号鸿雁大厦A区1708室
公司电话:0591-8348 9135
服务热线:400-800-9135
咨询电话①:189 6508 9135 (张先生)
咨询电话②:189 5031 4835 (张先生)
咨询电话③:134 0599 8886 (何小姐)
公司网站:zw-cm.cn www.fzyxwl.com
QQ 咨询:

福州印秀网络logo 福州印秀网络微信二维码

dedecms生成静态文件504 time out的性能优化


广东快乐10分开奖直播登录 如果你碰到dedecms 生成静态文件504 time out不一定是服务器的原因。如果你在文章中增加了大量的高亮标签,比如几千上万,那么dede的程序要替换这些高亮标签很可能就直接挂了。

广东快乐10分开奖直播登录 今天碰到的问题,有个dedecms系统中的高亮标签多大6000多个,直接导致生成html慢的跟蜗牛一样,生成一篇静态文章要12 秒或者更多。

所以跟了下生成html的代码。

一直跟踪到 include/arc.archives.class.php 这个文件的第1211行,性能都豪在这里了大概意思是根据一个段落来匹配存在的高亮标签,而且只对同一个标签匹配一次,反正很烦。

只实现这个,为嘛不直接用str的操作的,preg来来去去的多耗性能啊,所以修改了下。

从arc.archives.class.php 第1202行到1211行用如下代码代替,也就是说,把他哪个神马$body = @preg_replace("#(^|>)([^<]+)(?=<|$)#sUe", "_highlight('\\2', \$karr, \$kaarr, '\\1')", $body); 这一句给删掉。在while循环里进行替换就行了。

测试通过。


while($row = $this->dsql->GetArray())
        {
            $key = trim($row['keyword']);
            $key_url=trim($row['rpurl']);
            $karr[] = $key;
            $keyReplace = "$key";
            $kaarr[] = $keyReplace;
            //直接对每个Key进行一次字符串替换操作
            $searPos = mb_strpos($body, $key);
            if($searPos !== false){
                $body = mb_substr($body, 0, $searPos) . $keyReplace . mb_substr($body, $searPos + mb_strlen($key));
            }
        }


75秒时时彩注册---广东快乐10分开奖直播登录_欢迎您 75秒时时彩|官方唯一指定! 75秒时时彩-登录网 快乐赛车-主页 75秒时时彩-广东快乐10分开奖直播登录 75秒时时彩_官网