recherche

Maison  >  Questions et réponses  >  le corps du texte

php - Le projet TP3.2 passe automatiquement à l'ensemble "ERROR_PAGE". Comment vérifier la raison ?

Écrivez une tâche planifiée pour vous préparer à visiter régulièrement l'adresse afin de compléter la fonction de correspondance avec la marque.
Utilisation de la segmentation des mots bégayants pour séparer les titres de produits
Aucun problème d'exécution localement. Lors d'une exécution en ligne, si un seul produit est trouvé, il n'y a aucun problème. Plusieurs entrées passeront automatiquement à "ERROR_PAGE" dans le fichier de configuration. Il n'y a aucun enregistrement dans le fichier journal. Maintenant, je ne sais pas comment vérifier la cause de ce problème et je ne trouve pas de solution.
Cela devrait être un problème causé par une boucle, mais je ne sais pas où se situe le problème ?
Ci-joint le code correspondant :

$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;
        }
    }
欧阳克欧阳克2751 Il y a quelques jours831

répondre à tous(1)je répondrai

  • 漂亮男人

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

    Lors de la segmentation des mots :
    ini_set('memory_limit', '200M')
    Ce code semble avoir quelques problèmes

    répondre
    0
  • Annulerrépondre