福州印秀網(wǎng)絡地圖

      福州印秀網(wǎng)絡技術服務有限公司

      總部地址:福州市倉山區(qū)中洲島商貿(mào)中心2號412室
      分部地址:福州市臺江區(qū)華興廣場1區(qū)5座3樓(達道一號)
      公司電話:0591-8348 9135
      服務熱線:400-800-9135
      咨詢電話①:189 6508 9135 (張先生)
      咨詢電話②:134 0599 8886 (何小姐)
      公司網(wǎng)站:www.gekano.cn www.pk0591.cn
      QQ 咨詢: 建站咨詢 建站咨詢

      福州印秀網(wǎng)絡logo 福州印秀網(wǎng)絡微信二維碼

      在線客服

      電話①:189 6508 9135(張先生)
      電話②:134 0599 8886(何小姐)
      電話③:0591-83489135

      建站知識


      dedecms生成靜態(tài)文件504 time out的性能優(yōu)化


      如果你碰到dedecms 生成靜態(tài)文件504 time out不一定是服務器的原因。如果你在文章中增加了大量的高亮標簽,比如幾千上萬,那么dede的程序要替換這些高亮標簽很可能就直接掛了。

      今天碰到的問題,有個dedecms系統(tǒng)中的高亮標簽多大6000多個,直接導致生成html慢的跟蝸牛一樣,生成一篇靜態(tài)文章要12 秒或者更多。

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

      一直跟蹤到 include/arc.archives.class.php 這個文件的第1211行,性能都豪在這里了大概意思是根據(jù)一個段落來匹配存在的高亮標簽,而且只對同一個標簽匹配一次,反正很煩。

      只實現(xiàn)這個,為嘛不直接用str的操作的,preg來來去去的多耗性能啊,所以修改了下。

      從arc.archives.class.php 第1202行到1211行用如下代碼代替,也就是說,把他哪個神馬$body = @preg_replace("#(^|>)([^<]+)(?=<|$)#sUe", "_highlight('\\2', \$karr, \$kaarr, '\\1')", $body); 這一句給刪掉。在while循環(huán)里進行替換就行了。

      測試通過。


      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));
                  }
              }



      相關文章

      首頁  電話  咨詢  頂部
      国产欧美一级天堂,成年人视频免费在线网站,久久久久人妻一区精品色,免费在线看a网页 人妻中文有吗在线 一道本av免费不卡播放