Heim  >  Fragen und Antworten  >  Hauptteil

php - Das TP3.2-Projekt springt automatisch zum Satz „ERROR_PAGE“.

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;
        }
    }
欧阳克欧阳克2676 Tage vor765

Antworte allen(1)Ich werde antworten

  • 漂亮男人

    漂亮男人2017-06-21 10:13:03

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

    Antwort
    0
  • StornierenAntwort