php - Das TP3.2-Projekt springt automatisch zum Satz „ERROR_PAGE'.
欧阳克
欧阳克 2017-06-21 10:11:03
0
1
796

Schreiben Sie eine geplante Aufgabe, um sich darauf vorzubereiten, die Adresse regelmäßig zu besuchen, um die Funktion zum Abgleichen der Marke abzuschließen.
Verwendete stotternde Wortsegmentierung, um Produkttitel zu trennen.
Keine Probleme bei der lokalen Ausführung. Wenn im Online-Betrieb nur ein Produkt gefunden wird, gibt es kein Problem. Bei mehreren Einträgen wird automatisch zu „ERROR_PAGE“ in der Konfigurationsdatei gesprungen. Es gibt keinen Eintrag in der Protokolldatei. Jetzt weiß ich nicht, wie ich die Ursache dieses Problems überprüfen kann und kann keine Lösung finden.
Es sollte ein Problem sein, das durch eine Schleife verursacht wird, aber ich weiß nicht, wo das Problem liegt?
Anbei ist der entsprechende Code:

$quan_lists = M("Quan")->field('id,title')->where(array("fromtype" => array("gt", 0),"addtime" => array("gt", $limit_time)))->limit(20)->order("id desc")->select();
$productLogic = tkD("Product", "Logic");
$searchLogic = tkD('Search', 'Logic');
if(!empty($quan_lists)) {
    foreach($quan_lists as $quan) {
        //分词结果
        $aTags = $productLogic->jieba($quan['title']);
        if (empty($aTags)) {
            continue;
        }
        $like_zh_map = $like_en_map = $condition = $map = array();
            foreach($aTags as $tag) {
                if(preg_match("/^[0-9a-zA-Z\s]+$/", $tag)) {
                            $like_en_map[] = "{$tag}%";
                        } else {
                            $like_zh_map[] = "{$tag}%";
                        }
                    }
                    if(count($like_zh_map) > 0) {
                        $condition['zh_name'] = array('like', $like_zh_map, 'OR');
                    }
                    if(count($like_en_map) > 0) {
                        $condition['en_name'] = array('like', $like_en_map, 'OR');
                    }
                    if(count($like_zh_map) > 0 && count($like_en_map) > 0) {
                        $condition['_logic'] = 'or';
                    }
                    $map['_complex'] = $condition;
                    $map['status']  = 1;
                    $aDatas = M('Brand')->field('id,zh_name,en_name')->where($map)->find();
                    if(empty($aDatas)) {
                        continue;
                    } else {
                        M("Quan")->where(array("id" => $quan['id']))->save(array("brand_id" => intval($aDatas["id"])));
                        $searchLogic->searchupdate(2, $quan['id']); //更新搜索引擎
                    }
                }
            }
public function jieba($title)
    {
        if (empty($title)) {
            return false;
        }
        ini_set('memory_limit', '200M');//吃内存

        import('Vendor/jieba/src/vendor/multi-array/MultiArray', '', '.php');
        import('Vendor/jieba/src/vendor/multi-array/Factory/MultiArrayFactory', '', '.php');
        import('Vendor/jieba/src/class/Jieba', '', '.php');
        import('Vendor/jieba/src/class/Finalseg', '', '.php');
        \Fukuball\Jieba\Jieba::init(array('dict' => 'small'));
        \Fukuball\Jieba\Finalseg::init();

        $aSeglist = \Fukuball\Jieba\Jieba::cut($title, false);
        if ($aSeglist) {
            $aTags = array();
            foreach ($aSeglist as $str) {
                if (is_numeric($str)) {
                    continue;
                } elseif (mb_strlen($str, 'utf8') < 2) {
                    continue;
                } else {
                    $aTags[] = $str;
                }
            }
            return $aTags;
        } else {
            return false;
        }
    }
欧阳克
欧阳克

温故而知新,可以为师矣。 博客:www.ouyangke.com

Antworte allen(1)
漂亮男人

分词的时候:
ini_set('memory_limit', '200M')
这段代码看起来有点问题

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage